On Fri, Aug 25, 2023, at 3:52 AM, Alexander Burger wrote:

> and did some test. Works fine, and gives - as expected - a null pointer
> exception if the object is accessed from Lisp again.

Great! I've got same results here.  Of course, tracking every object 
instantiation that gets stuffed into the HashArray isn't trivial, but for my 
purposes it's essential.  It seems that any object returned by a Java method 
call is subject to be placed there so calls like (java (java someobject 
'getResultingObject) 'doSomething)) will place the inner object in the 
HashArray, correct?
I've taken to not doing nested (java) calls to manage this.  And I've also 
wrapped a catch around my releases (java NIL obj) in case it has been release 
already from the HashArray...  Some good idioms will need to go with the use of 
(java NIL...) 

> I cannot make a release to PlayStore now, as PilBox is in the process of some
> changes to prepare for Android 14. So I made a temporary release available at:
>
>    https://picolisp.com/pub/pilBox.apk
>    https://picolisp.com/pub/PilBox.tgz

Thanks! I'll grab it soon.

> Thanks a lot for the good idea! :)

Thanks for validating it.  My app has now been running over 24 hours 
(collecting BLE scans) without running out of memory (up from the 1-2 hour runs 
before).

/todd

-- 
UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe

Reply via email to