Yes he means evas_object_del as edje_object_add return an Evas_Object
pointer.
And edje_object_del doesn't exists as it's an evas_object.

:)

Le jeu. 28 nov. 2019 à 13:15, Jing <chenjing...@126.com> a écrit :

> 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
>


-- 
Michaël Bouchaud

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

Reply via email to