1. phone9's Avatar
    This is an answer to the memory boosting / recovery apps that cost a lot of money. Simple, no-nonsense and to the point, and I think this gets the job done at least as well and probably better:

    MemoryFlash - Personal Productivity BlackBerry Apps - Crackberry BlackBerry Software Store

    I've written long posts in the past against memory recovery apps, but now think there actually is some benefit in having a way to trigger garbage collection manually at chosen times -- such as just before starting an action game. The system is smart but not smart enough to know it should do garbage collection just before starting a game to avoid creating a pause during play when it could have gotten that out of the way beforehand.

    Also, there are times during phone use that seem like opportune moments to take one to several seconds to collect garbage, such as whenever the backlight turns off, or when you unplug after charging. Better to get the garbage collection out of the way then so once we resume activity we have as long as possible before the next pause for garbage collection.
    11-07-09 05:10 AM
  2. FF22's Avatar
    You are one busy programmer!!!!
    11-07-09 10:54 AM
  3. ipodtouch1234's Avatar
    Working about 70-90 hours a week and it's still nowhere near enough... I'm slow as an elderly turtle because I'm completely new to this platform. Someone asks for a feature that should take half a day and it takes me 2 weeks
    Well practice makes perfect and persistence is the key to success.
    11-07-09 11:33 AM
  4. digitalb0y's Avatar
    Nice work. I'll give it a shot. I go into the escreens once in a while to try a thorough cleaning and it seems to flush flash stuff pretty well. Are you familiar with that process, and if so, how does this compare to that?

    Posted from my CrackBerry at wapforums.crackberry.com
    11-07-09 03:46 PM
  5. Elite1's Avatar
    I know you've taken a stand against some other memory cleaning/recovery apps before, so I'm curious to try this one out. (I've never tried one.)

    I saw it's on sale for $.99 with the reg price of $2.99.
    I guess it will be $2.99 whenever released on App World.

    Will you be free-trialing this app here on CB?

    Posted from my CrackBerry at wapforums.crackberry.com
    11-07-09 03:59 PM
  6. Elite1's Avatar
    Nice work. I'll give it a shot. I go into the escreens once in a while to try a thorough cleaning and it seems to flush flash stuff pretty well. Are you familiar with that process, and if so, how does this compare to that?

    Posted from my CrackBerry at wapforums.crackberry.com
    Can you please clarify to which process you are referring and how it is accessed? Thanks!

    Posted from my CrackBerry at wapforums.crackberry.com
    11-07-09 04:03 PM
  7. FF22's Avatar
    Does Meters do Garbage collection? User controlled or automatically?
    11-07-09 08:57 PM
  8. jlsparks's Avatar
    Thus far I've picked up..... .2MB on my S2 with this app. I'm not complaining. Memory management is so much better anyway that the difference between 124.2 and 124.4 is not something that any human being could notice.
    11-07-09 09:05 PM
  9. 2000 Man's Avatar
    Great idea for an app. Will give it a shot.
    11-07-09 11:45 PM
  10. tmp3150's Avatar
    How is what you made different from running the memory cleaner on the phone? Does you app only run the garbage collector or does it also clean what the memory cleaner does in addition to running the garbage collector? Just curious.


    Thanks
    Last edited by tmp3150; 11-08-09 at 07:29 AM.
    11-08-09 07:24 AM
  11. 2000 Man's Avatar
    How is what you made different from running the memory cleaner on the phone? Does you app only run the garbage collector or does it also clean what the memory cleaner does in addition to running the garbage collector? Just curious.


    Thanks
    You might try reading the thread. It's all very clearly explained.
    11-08-09 08:11 AM
  12. sdmcwilliams's Avatar
    I just purchased your app and will try it out to see how it works.
    11-08-09 09:08 AM
  13. vinmontRD's Avatar
    Interesting idea, and what you've done is pretty much all you *can* do within a java runtime environment (exactly as you've described) that doesn't support the JVMTI (tools interface -- only in J2SE so far, and probably would be blocked by RIM on Blackberry's for security considerations). Props for being upfront about this and not falling prey to the temptation to claim some secret "revolutionary technique" for freeing up memory.

    Anyway -- back to garbage collection itself in java. From all the work I've had my java teams doing over the years, and from what I've read in various java documents (from Sun, etc), calling gc() will register a *request* for garbage collection, but the OS still makes the determination regarding when to actually begin garbage collection. The OS still has its own algorithm for determining the "best time" to perform this task, and generally postpones the task until the heap is nearly full -- I imagine that having a pending gc() request is taken into account as part of the algorithm, else they wouldn't bother having the function available to programmers at all. But it's important to know that making the gc() call does NOT guarantee that garbage collection will occur at that point.

    Some notes from official Blackberry documentation:

    The BlackBerry� Java� Virtual Machine initiates a RAM garbage collection operation only when the BlackBerry JVM cannot allocate an object because of a lack of space in RAM. The RAM garbage collection operation typically takes 500 to 600 milliseconds to execute. The garbage collection operation removes any freshly allocated variables that are no longer referenced in RAM. To make sure that the lack of a reference in RAM is a sufficient condition for removing the object, a RAM garbage collection operation can only be performed when objects have not been paged out to flash memory.

    The full garbage collection operation executes for 1 second on average and should take less than 2 seconds to complete. The full garbage collection operation performs the following actions:

    • It performs a RAM garbage collection operation.
    • It marks objects in flash memory that are no longer referenced or no longer persisted.
    • It releases any nonpersistent object handles in RAM and flash memory.

    The system might initiate a full garbage collection operation in the following situations:

    • The BlackBerry� Java� Virtual Machine cannot allocate an object because of a lack of available space in RAM.
    • A process is about to exceed its currently allocated heap size.
    • The BlackBerry JVM cannot allocate a new object because the object handles are not available.
    • The BlackBerry device is idle.


    Garbage collection does not occur every time that the BlackBerry� device idles. It occurs only when the system considers a garbage collection operation to be beneficial for optimal system performance and maximized battery performance.
    To improve performance without impacting the BlackBerry device user experience, the system attempts to perform the following garbage collection operations when the BlackBerry device idles:

    • A full garbage collection operation can occur when the BlackBerry device idles for a relatively small amount of time.
    • A thorough garbage collection operation can occur when the BlackBerry device idles for a significant period of time.



    Avoid calling System.gc() to perform a garbage collection operation because it might take too much time on BlackBerry� devices with limited available memory. Let the BlackBerry� Java� Virtual Machine collect garbage.

    ---

    Mike Kirkup, from RIM, wrote a good page in 2005 that covers the subject well. Since it's still on RIM's site, I'm guessing that OS changes haven't modified this yet (although that assumption might be wrong). Anyway -- for a really good understanding of Blackberry OS garbage collection, follow this link.
    11-08-09 12:57 PM
  14. lovinthecurveinsocal's Avatar
    Just purchased and using it now, but I have to say after reading this whole thread, my brain hurts. Wow! Talk about intense. I now know how it feels when my mother asks how something works on her laptop, I explain, and she has no clue what just said!


    Seriously, LS, very impressive work and thank you for the explanation of the program...I did get it after reading several times.
    11-08-09 02:23 PM
  15. digitalb0y's Avatar
    Can you please clarify to which process you are referring and how it is accessed? Thanks!

    Posted from my CrackBerry at wapforums.crackberry.com
    I will assume you already know how to access the engineering screens, but if not, there's a tutorial showing how to enable them in my signature (the one about enabling/disabling 2G and 3G). From there, the GC I am talking about can be found by going to: JVM Engineering Screens

    From there, I can select RAM usage, press the menu button and choose Quick, Full, or Thorough GC. I can repeat the process under Processes, Flash Usage, Object Usage, Code Modules, Transient Objects in flash, and Persistent Objects in flash.
    11-08-09 06:22 PM
  16. phone9's Avatar
    I think that route would be a bit intimidating for most users, would they really do that if they have to go into Options/whatever/whatever every time?

    I also can't get that to work on my 8330, entered my information 3 times at the keygen site and it says my 4.5.0.138 update is an invalid OS. Tried the original 4.5.0.77 too, no-go.
    Last edited by LSphone; 11-10-09 at 06:32 PM.
    11-08-09 07:23 PM
  17. tmp3150's Avatar
    Thanks for the input Einstein.


    You might try reading the thread. It's all very clearly explained.
    11-08-09 10:37 PM
  18. phone9's Avatar
    if it was clearly explained, I wouldn't have asked. And since you seem to know it all, why don't you take the time to answer my question.
    I know this was not directed at me, but I hope it's as clear as possible now. I'm not fully clear on it myself to be honest -- I tried many times running an app that chews up resources, then running Memory Cleaner, then MemoryFlash, and every time but one, the Memory Cleaner seemed already to have done the gc. Of course it also wiped a bunch of stuff that I personally didn't want wiped just to get a gc done.

    But one time, I ran the resource-chewing app, then Memory Cleaner, and then hit MemoryFlash, and had to wait a couple of seconds on the hourglass. So there was one case where the Memory Cleaner apparently did not do gc.

    All I can think about this is that the Memory Cleaner also can only request not command gc. So maybe what happened is the memcleaner called System.gc() and the gc said, no way jose. Then 2 seconds later I hit MemoryFlash and it called System.gc() again, and the gc said, ok I'll do it.

    Someone please get me a slide rule so I can figure this out...
    11-08-09 10:44 PM
  19. 2000 Man's Avatar
    Thanks for the input Einstein.
    WAY over your head, I guess. Good luck.
    11-08-09 10:55 PM
  20. phone9's Avatar
    I hope it was no-one here, but someone among the first 24 downloaders posted the app on a pirate site. If that person is reading this -- can't you let me make some money off my work for a week or two before you pirate it -- you had to post it the day it was released, about half an hour after you downloaded?
    Last edited by LSphone; 11-10-09 at 06:33 PM.
    11-09-09 05:10 AM
  21. digitalb0y's Avatar
    Just sent my PIN to an untrusted site 3 times.
    Thyth certainly seems a standup guy. I'm also quite certain that by now he's had literally hundreds of visitors to that site and we'd have heard by now if our info was being misused. Out of curiosity, were you sure to include the parenthetical part of your build info as well? Thyth's page has never failed for me on 5 different devices (3 models total) and 2 of them were old Pearl 8100s.

    But back on topic, I wasn't asking you to justify your app. I know your average user doesn't want to dig around the escreens all the time and I think you obviously know your way around BB memory management. I'm sure it's worth a buck to some folks. I was only asking you to compare it to the options in that section. I thought you might know the difference between the types of GC available in the escreens, and could perhaps give an idea of which of them your app does. No worries if you don't know or don't care what I'm talking about.

    Also, sorry to hear about the pirate. It's jerks like that who keep nikkisoft from being able to offer a free trial, and who keep people from pricing their apps as reasonably as this one is. You wanna go steal a copy of Windows? Still illegal but I'd at least not lose sleep over it. But stealing from small 3rd-party devs who pour hours into making all our devices better, when all they're asking is a measly few bucks here and there? That's just weak.

    Posted from my CrackBerry at wapforums.crackberry.com
    Last edited by digitalb0y; 11-09-09 at 06:42 AM.
    11-09-09 06:34 AM
  22. 2000 Man's Avatar
    A video flashlight is now included, not that we don't all already have 3 of them. Anyone who downloaded yesterday can just download again to get the bonus app.


    I hope it was no-one here, but someone among the first 24 downloaders posted the app on a pirate site. If that person is reading this -- that's really the act of a human slime, can't you let me make some money off my work for a week or two before you pirate it -- you had to post it the day it was released, about half an hour after you downloaded?

    Anyway, the site is getting me the IP address of the poster and I'll correlate that with the customer list (yes, it records the IP addr) and see who it was, then file a claim with their ISP under the DMCA. Enough strikes and they'll need TetherBerry to access the internet.
    If only your app could add a camera and LED flash to my 8830, that would really be something!

    Liking the app so far. Handy, small footprint and priced right.
    11-09-09 11:34 AM
  23. iLovemy_bb's Avatar
    This is an answer to the memory boosting / recovery apps that cost a lot of money. Simple, no-nonsense and to the point, and I think this gets the job done at least as well and probably better:

    MemoryFlash - Personal Productivity BlackBerry Apps - Crackberry BlackBerry Software Store

    I've written long posts in the past against memory recovery apps, but now think there actually is some benefit in having a way to trigger garbage collection manually at chosen times -- such as just before starting an action game. The system is smart but not smart enough to know it should do garbage collection just before starting a game to avoid creating a pause during play when it could have gotten that out of the way beforehand.

    Also, there are times during phone use that seem like opportune moments to take one to several seconds to collect garbage, such as whenever the backlight turns off, or when you unplug after charging. Better to get the garbage collection out of the way then so once we resume activity we have as long as possible before the next pause for garbage collection.
    I agree...keep it up
    11-09-09 11:39 AM
  24. phone9's Avatar
    If only your app could add a camera and LED flash to my 8830, that would really be something!
    Now that would be a successful app...
    Last edited by LSphone; 11-10-09 at 06:45 PM.
    11-09-09 03:31 PM
  25. adamlau's Avatar
    Definitely sounds like something I would buy. Is it available at App World?

    Posted from my CrackBerry at wapforums.crackberry.com
    11-09-09 05:20 PM
49 12
LINK TO POST COPIED TO CLIPBOARD