1. eharty's Avatar
    Since MemoryUp pro is Deal of the day on CrackBerry today I installed and have had it running all day today. I have also read all the posts stating that this software is bogus. What I have noticed today is that the usual lags seem to be gone with memoryup running. Also, free memory has stayed around 110 mb where usually I am down around 88 mb towards the end of the day. The price is high but this app does seem to work.

    Posted from my CrackBerry at wapforums.crackberry.com
    09-28-09 08:21 PM
  2. aming63's Avatar
    I just checked and could crackberry.com have taken this offer down? I know it was there,but it disappeared?? I downloaded the app..and did NOT notice any difference in the way my Bold was running.
    09-28-09 08:50 PM
  3. bboy2143's Avatar
    LOL lol lol.. its all in your head. It's been proven that it doesn't work. And it "cleans" your bold the same way as is memory up pro wasnt there.
    09-28-09 09:34 PM
  4. bboy2143's Avatar
    I just want to point something out, it's bothered me for a while now. From my reading of the programmer interfaces, the only thing a 3rd party app can do in relation to freeing memory it hasn't allocated itself, is to run System.gc(), the system garbage collector. A 3rd party app cannot take control of the JVM, or create more memory that wasn't there before, or do anything special in relation to this, really -- as far as I can see, and I've read the entire API and all memory-related documentation.

    I think the only people who buy an app like this, and especially spend that much money on it, are those who are still thinking in terms of a regular computer and do not yet understand that the BlackBerry is a Java Virtual Machine, and what that means. This is not a Windows, MacOS, or Unix machine where an application can allocate resources, then terminate without deallocating, and leave those resources unavailable until the next reboot. On machines like that, a memory reclaimer would actually be useful.

    The BlackBerry is a managed virtual machine. Everything an application allocates is tracked, and when the app terminates, the virtual machine knows that those resources are no longer in use, unless they're shared with something else. There's no possibility of a "memory leak" as far as I know.

    When some people decide to go looking for "memory leaks" like it's a Windows machine, they do a battery pull, check the free resources with a meter, run an app for a while, then close it and check the memory again, and then say, "AHA! Look, there are 12 Megabytes less memory, it has a memory leak! It's going to crash my BlackBerry or make it slow! Don't buy this app, anyone!" No, that's not how it is at all. What has actually happened is that the app used 12M of memory while it was running, probably a lot of that was local variables which keep getting reallocated every call to a function, and now all those resources are actually released (are no longer referenced by a running application), but have not yet been garbage-collected back to the free pool.

    In a Windows/MacOS/Unix machine, when you are done with a resource you free it, and it's immediately or quickly back in the free pool. In a Java machine, when you're done with a resource you simply no longer retain a reference to it, and it does NOT immediately get put back into the free pool. That would take time, and to save time the Java machine goes on allocating from the free pool and leaving a lot of stuff that's no longer in use marked "allocated", even though it's actually available for use when needed.

    That's why it can look like an app is "chewing through memory" or like you're running out of memory, and then suddenly you see the free memory jump way back up after an hourglass moment. Once the memory is used up or almost, or else at intervals when nothing much is happening, the system garbage collector collects all the resources that are no longer referred to by running applications and returns them to the free pool.

    There actually may be a benefit to running the garbage collector at certain times, before a time-critical task such as playing an action game that you don't want to be interrupted for a moment to a few seconds by an hourglass when the garbage collector decides it needs to run automatically. So it's actually probably useful to have an app that will call System.gc() on demand. But just realize that's all it's doing, System.gc(), when you decide how much you're willing to pay for it. Also, going by my own experience, an app cannot FORCE the garbage collector to run on demand, only request it. Many times the garbage collector decides now's not the time and does nothing, leaving all those megabytes still marked Allocated when they're actually Free. Only when the collector decides there's enough benefit from the time it will take, does it do the collection.

    And once again, the collector already runs automatically without having to buy an app. It will run when necessary, or when the phone is idle and there's likely a benefit from garbage collection. The benefit is that when your system is collected, the time before the next collection is needed is longer, so you'll be interrupted briefly by the hourglass later.

    However, here's the point that bothers me most about these expensive memory magic apps: in most cases, they actually slow the phone down. That's right, by doing garbage collection more often than necessary, you're waiting a moment to a few to several seconds for garbage collection more often than you need to, and that adds up to a lot more time spent waiting. Tests I've run showed that it took about the same time to collect a little bit of garbage as to collect a lot of garbage: I ran a memory-consuming app for a brief time, then collected, it took about a second. Then I ran the app until memory was almost completely used up, then collected, and it took about a second -- no longer at all. Sometimes it does take a long time, but that doesn't seem to be related to collecting more or less frequently, just the nature of what has to be collected.

    By just letting it all happen automatically without the assistance of a memory magic app, you'll have a faster phone overall, but the only downside is that the collection will happen whenever it needs to, you don't know when. So that hourglass might pop up for a moment to several seconds... whenever. But you'll spend less time overall waiting on the hourglass if you just turn whatever memory magic app you have OFF and let the system manage itself.

    I learned all this while writing a memory meter app, and I had to garbage collect because otherwise memory that's actually as good as free keeps appearing as allocated. I quickly discovered that you can't force the collector to run, and that more time is wasted running it often. But by requesting it often when metering, it does cause it to run frequently and keep the meters more accurate. That's the only real use of a memory boosting app, though (IMO), the rest is just playing off peoples' fears and their thinking in terms of ordinary computers instead of a Java-based phone.

    (added on edit)
    Some people have problems with their phone and see something like this and think that's the problem, they're running out of memory and need a memory booster. That's like the mileage-boosters you pour in your gas tank, or the millions of times that computer users have said, "My computer is slow, I need more memory," go out and spend a lot of money, and they actually often just slowed their machine down -- takes longer to enter and leave hibernation, and back in the days (maybe even still today) when there was a limit to how much memory could be level-2 cached, adding memory could really hurt you. But after spending a lot of money and thinking, "Now I've got ____ megs or gigs, Wow!", they were content in their mind.

    P.S. I do not have a competing app, it's just that it really bothers me to see people paying a lot of money for something that they already have, except for the ability to schedule when it happens, and that's actually detrimental unless you run it manually just before starting an action game. Even then, if it's an action game, garbage collection will probably have to happen again fairly soon anyway, while you're playing the game. Often it's so fast you don't even notice it.
    wow.. well said
    09-28-09 09:52 PM
  5. eharty's Avatar
    I just want to point something out, it's bothered me for a while now. From my reading of the programmer interfaces, the only thing a 3rd party app can do in relation to freeing memory it hasn't allocated itself, is to run System.gc(), the system garbage collector. A 3rd party app cannot take control of the JVM, or create more memory that wasn't there before, or do anything special in relation to this, really -- as far as I can see, and I've read the entire API and all memory-related documentation.

    I think the only people who buy an app like this, and especially spend that much money on it, are those who are still thinking in terms of a regular computer and do not yet understand that the BlackBerry is a Java Virtual Machine, and what that means. This is not a Windows, MacOS, or Unix machine where an application can allocate resources, then terminate without deallocating, and leave those resources unavailable until the next reboot. On machines like that, a memory reclaimer would actually be useful.

    The BlackBerry is a managed virtual machine. Everything an application allocates is tracked, and when the app terminates, the virtual machine knows that those resources are no longer in use, unless they're shared with something else. There's no possibility of a "memory leak" as far as I know.

    When some people decide to go looking for "memory leaks" like it's a Windows machine, they do a battery pull, check the free resources with a meter, run an app for a while, then close it and check the memory again, and then say, "AHA! Look, there are 12 Megabytes less memory, it has a memory leak! It's going to crash my BlackBerry or make it slow! Don't buy this app, anyone!" No, that's not how it is at all. What has actually happened is that the app used 12M of memory while it was running, probably a lot of that was local variables which keep getting reallocated every call to a function, and now all those resources are actually released (are no longer referenced by a running application), but have not yet been garbage-collected back to the free pool.

    In a Windows/MacOS/Unix machine, when you are done with a resource you free it, and it's immediately or quickly back in the free pool. In a Java machine, when you're done with a resource you simply no longer retain a reference to it, and it does NOT immediately get put back into the free pool. That would take time, and to save time the Java machine goes on allocating from the free pool and leaving a lot of stuff that's no longer in use marked "allocated", even though it's actually available for use when needed.

    That's why it can look like an app is "chewing through memory" or like you're running out of memory, and then suddenly you see the free memory jump way back up after an hourglass moment. Once the memory is used up or almost, or else at intervals when nothing much is happening, the system garbage collector collects all the resources that are no longer referred to by running applications and returns them to the free pool.

    There actually may be a benefit to running the garbage collector at certain times, before a time-critical task such as playing an action game that you don't want to be interrupted for a moment to a few seconds by an hourglass when the garbage collector decides it needs to run automatically. So it's actually probably useful to have an app that will call System.gc() on demand. But just realize that's all it's doing, System.gc(), when you decide how much you're willing to pay for it. Also, going by my own experience, an app cannot FORCE the garbage collector to run on demand, only request it. Many times the garbage collector decides now's not the time and does nothing, leaving all those megabytes still marked Allocated when they're actually Free. Only when the collector decides there's enough benefit from the time it will take, does it do the collection.

    And once again, the collector already runs automatically without having to buy an app. It will run when necessary, or when the phone is idle and there's likely a benefit from garbage collection. The benefit is that when your system is collected, the time before the next collection is needed is longer, so you'll be interrupted briefly by the hourglass later.

    However, here's the point that bothers me most about these expensive memory magic apps: in most cases, they actually slow the phone down. That's right, by doing garbage collection more often than necessary, you're waiting a moment to a few to several seconds for garbage collection more often than you need to, and that adds up to a lot more time spent waiting. Tests I've run showed that it took about the same time to collect a little bit of garbage as to collect a lot of garbage: I ran a memory-consuming app for a brief time, then collected, it took about a second. Then I ran the app until memory was almost completely used up, then collected, and it took about a second -- no longer at all. Sometimes it does take a long time, but that doesn't seem to be related to collecting more or less frequently, just the nature of what has to be collected.

    By just letting it all happen automatically without the assistance of a memory magic app, you'll have a faster phone overall, but the only downside is that the collection will happen whenever it needs to, you don't know when. So that hourglass might pop up for a moment to several seconds... whenever. But you'll spend less time overall waiting on the hourglass if you just turn whatever memory magic app you have OFF and let the system manage itself.

    I learned all this while writing a memory meter app, and I had to garbage collect because otherwise memory that's actually as good as free keeps appearing as allocated. I quickly discovered that you can't force the collector to run, and that more time is wasted running it often. But by requesting it often when metering, it does cause it to run frequently and keep the meters more accurate. That's the only real use of a memory boosting app, though (IMO), the rest is just playing off peoples' fears and their thinking in terms of ordinary computers instead of a Java-based phone.

    (added on edit)
    Some people have problems with their phone and see something like this and think that's the problem, they're running out of memory and need a memory booster. That's similar to what leads people to buy mileage-boosters to pour in their gas tank, or the millions of times that computer users have said, "My computer is slow, I must need more memory," then go out and spend a lot of money, and they actually often just slowed their machine down -- takes longer to enter and leave hibernation, maybe forced it into a slower memory mode, and back in the days (maybe even still today) when there was a limit to how much memory could be level-2 cached, adding memory could really hurt you. But after spending a lot of money and thinking, "Now I've got ____ megs or gigs, Wow!", they were content in their mind.

    P.S. I do not have a competing app, it's just that it really bothers me to see people paying a lot of money for something that they already have, except for the ability to schedule when it happens, and that's actually detrimental unless you run it manually just before starting an action game. Even then, if it's an action game, garbage collection will probably have to happen again fairly soon anyway, while you're playing the game. Often it's so fast you don't even notice it.
    Thanks for the detailed explanation...makes perfect sense so I just deleted memoryup.

    I am wondering why CrackBerry would even offer this app let alone feature it as deal of the day!

    Posted from my CrackBerry at wapforums.crackberry.com
    09-28-09 10:27 PM
  6. aming63's Avatar
    Thanks for the detailed explanation...makes perfect sense so I just deleted memoryup.

    I am wondering why CrackBerry would even offer this app let alone feature it as deal of the day!

    Posted from my CrackBerry at wapforums.crackberry.com
    I deleted it also I don't see the deal of the day anymore...LOL
    09-28-09 10:37 PM
  7. vinmontRD's Avatar
    I've been writing debunking posts about this (and similar bogus apps) for years (based on MANY years of professional experience in software industry as architect, developer, CTO, CIO, etc), and I've written to forum leaders at the top 3 BB forums. For whatever reason, it seems that nobody is willing to simply officially note that these apps do, in fact, nothing more than system.gc(). It hurts to watch these companies rack up endless snake oil sales while people talk themselves into thinking their phones run faster.

    I continued to be bewildered by the fact that these vendors have never been prosecuted.
    09-28-09 10:41 PM
  8. 2000 Man's Avatar
    What's more bewildering is why supposedly reputable stores like crackberry.com continue to sell something that they know is bogus to their customers. Haven't they heard of complicity or just simple ethics?
    09-28-09 11:38 PM
  9. OskahOfDisastah's Avatar
    So what this app basically claims to do is give u memory? But, why don't people just use the memory cleaner the bb came with? just curious, because i've noticed that many people on here are paying for apps that claim to do stuff your bb already could do which idk why people would do that if your phone has it for free already. I have yet to pay for an app that seems useful or one that a bb doesnt have that could make it run a bit smoother
    09-29-09 08:37 AM
  10. eharty's Avatar
    Wow...Aerize Optimizer - Memory Booster/Cleaner is the deal of the day today!

    2 days in a row of apps that can't work. Disappointing to say the least!!!
    09-29-09 03:03 PM
LINK TO POST COPIED TO CLIPBOARD