Thanks Carsten,

I did not find edje_object_del(), did you mean evas_object_del()?


Here is my code flow:
//enter:
obj = edje_object_add(evas)
edje_object_file_set(obj, file , grup)
evas_object_show(obj )
evas_object_move()
evas_object_resize()
evas_object_focus_set()
evas_object_layer_set()
//exit:
evas_object_hide(obj)
evas_object_del(obj)
Is there anything wrong? Please advise, thanks.

At 2019-11-28 17:21:38, "Carsten Haitzler (The Rasterman)" 
<ras...@rasterman.com> wrote:
>On Thu, 28 Nov 2019 15:43:17 +0800 (CST) Jing  <chenjing...@126.com> said:
>
>> Thanks Hermet for you reply.
>> 
>> 
>> In my test, i find that if i call function edje_object_file_set(Edje_Object
>> *obj, const char *file, const char *group), even i call
>> evas_object_del(Edje_Object *obj); to delete the obj, the memory of my
>> program will keep growing, if i am not use edje_object_file_set() then this
>> issue will not exists.  Is there a way to free the memory of
>> edje_object_file_set() ? Please advise, thanks.
>
>Memory will be freed... is it possible you are not getting any rendering
>happening? e.g. if you do something like:
>
>for (i = 0; i < 100000; i++) {
>  o = edje_object_add(evas);
>  edje_object_del(o);
>}
>
>your memory will keep growing ad the objects will be queued for deletion after
>2 more renders. you would need the main loop to go idle *AND* for there to be
>visible changes in the canvas needing rendering. evas_norender(evas); exists
>for these cases where you do a loop where you add/del objects and never show
>them or have them rendered (and just use the canvas as a workbench). this
>forces a "no rendering" render cycle that will clean up queued objects.
>
>it's exceedingly rare to do the above without having your canvas go through
>some rendering at some point.
>
>also edje will QUEUE signals and process them in idle time. if there is never
>any idle time in the ecore mainloop then the signals will just queue up and
>not be processed. setting a file will produce some signals already (like "load"
>"").
>
>> At 2019-11-26 12:24:45, "Hermet Park" <hermetp...@gmail.com> wrote:
>> >Once object is deleted, the subsequent memory belonging to the object will
>> >be removed as well.
>> >You don't need to care about it. Callbacks neither.
>> >
>> >On Mon, Nov 25, 2019 at 9:12 PM Jing <chenjing...@126.com> wrote:
>> >
>> >> Hi all,
>> >> I have some memory free questions when using below two functions:
>> >>
>> >>
>> >> 1.  EAPI Eina_Bool edje_object_file_set(Evas_Object *obj, const char
>> >> *file, const char *group);
>> >> ---  After this function done,  i will call  evas_object_del (obj) to
>> >> delete the obj,  anything else that i need to free ?  For example, the edj
>> >> file used in this funciton?
>> >>
>> >>
>> >> 2.  evas_object_event_callback_add(Evas_Object *eo_obj, Evas_Callback_Type
>> >> type, Evas_Object_Event_Cb func, const void *data)
>> >> ---- After this function done,  i will call  evas_object_del (obj) to
>> >> delete the obj,   the callback will be auto deleted after evas_object_del
>> >> or  i have to use  evas_object_event_callback_del(Evas_Object *eo_obj,
>> >> Evas_Callback_Type type, Evas_Object_Event_Cb func) to delete ?
>> >>
>> >>
>> >> Thanks.
>> >>
>> >>
>> >> _______________________________________________
>> >> enlightenment-devel mailing list
>> >> enlightenment-devel@lists.sourceforge.net
>> >> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>> >>
>> >
>> >
>> >-- 
>> >Regards, Hermet
>> >
>> >_______________________________________________
>> >enlightenment-devel mailing list
>> >enlightenment-devel@lists.sourceforge.net
>> >https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>> 
>> _______________________________________________
>> enlightenment-devel mailing list
>> enlightenment-devel@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>> 
>
>
>-- 
>------------- Codito, ergo sum - "I code, therefore I am" --------------
>Carsten Haitzler - ras...@rasterman.com

_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to