Apple Trashing Free Memory Apps, Clearly Losing It

pmzpmz
Posted:
in iPhone edited January 2014
Sorry Apple, I don't care how much you think I need to know. Free Memory has been an essential tool on every iPhone from 1st gen to the current 3GS. I use it daily. As does anyone else who has ever had their phone slow down, and sought a fix.



But of course, as I expected they might from the first time I tried Free Memory 1.4, they have actively taken to dismantling the use of "Free Memory" across all applications that use it



This is a warning to those of you who know how valuable this tool is. DO NOT UPDATE. If you see a new version of your preferred Memory App soon, its likely without the Free Memory function.



Quite simply, I refuse, as anyone else should, to have the tool taken away before Apple fixes THEIR problem. NOT the other way around!



Apple, you fix your horrible memory management ( so bad that we need a 3rd party app to put RAM back, LOL!), THEN I will gladly stop forcing memory to free.



Gladly. But until then, you have no place removing this feature, and doing so is vindictive. Are you prepared to offer refunds? Lots of them? I have no use for any of these apps should you remove their only feature.



Why not remove the Maps from a GPS app and say, "What? You still have a GPS, just no Map. That's not our problem."

Comments

  • Reply 1 of 10
    hirohiro Posts: 2,663member
    You want to mess with what the memory manager has allocated and don't think that's a problem?



    Sorry, but thats a bad idea no matter how you cut it.
  • Reply 2 of 10
    pmzpmz Posts: 3,433member
    Quote:
    Originally Posted by Hiro View Post


    You want to mess with what the memory manager has allocated and don't think that's a problem?



    Sorry, but thats a bad idea no matter how you cut it.



    Hardly. Maybe for you, with no programming experience, it seems like "messing with what memory manager has allocated", but I know better, and so do a few million other iPhone users than have seen code before.



    Leave it to people with no technical knowledge to give Apple the entire benefit of the doubt, assuming they do right in every instance, and are always correct with their assertions.



    In point of fact, Apple has an OS that allows one App to run, then close, then open another. In closing the App, memory is not properly put back. This is how the PUBLIC OS CURRENTLY functions and has since iDay07. Its garbage, in terms of memory behavior. It requires persistent memory holes to be purged manually to free up enough memory to continue running the device properly.



    There are two ways to accomplish this. You can power cycle the phone (turn it off, turn it back on), which is harsh and excessive. Or, you can use an App designed to clear the memory without going to the unnecessary length of powering down and back on.



    Your choice......or least, for now it is.
  • Reply 3 of 10
    tulkastulkas Posts: 3,757member
    Gotta agree with pmz here. If the memory is not being properly freed by the OS, then that is a problem that Apple needs to correct. The fact that third party apps had to be written to correct this is a problem. That Apple would make the developers remove the features is puzzling, especially as they were originally allowed.



    At the same time, Apple would have reason to cautious about allowing open access to apps to reallocate memory that is otherwise assigned. Start trampling on memory in use and you start having problems.
  • Reply 4 of 10
    Are you cribbing about the auto release pool?
  • Reply 5 of 10
    hirohiro Posts: 2,663member
    Quote:
    Originally Posted by pmz View Post


    Hardly. Maybe for you, with no programming experience, it seems like "messing with what memory manager has allocated", but I know better, and so do a few million other iPhone users than have seen code before.



    Leave it to people with no technical knowledge to give Apple the entire benefit of the doubt, assuming they do right in every instance, and are always correct with their assertions.



    In point of fact, Apple has an OS that allows one App to run, then close, then open another. In closing the App, memory is not properly put back. This is how the PUBLIC OS CURRENTLY functions and has since iDay07. Its garbage, in terms of memory behavior. It requires persistent memory holes to be purged manually to free up enough memory to continue running the device properly.



    There are two ways to accomplish this. You can power cycle the phone (turn it off, turn it back on), which is harsh and excessive. Or, you can use an App designed to clear the memory without going to the unnecessary length of powering down and back on.



    Your choice......or least, for now it is.





    Well, telling a professor in a CS department they are a person "with no technical knowledge" and have "no programming experience" might be a bit presumptuous. I'm also a registered iPhone dev. I don't publish apps and haven't done much other than what I would consider dabbling, but I think that puts someone like me far ahead of the average Joe to speak about mucking about an OS.



    And you do realize that iPhone OS still is a virtual memory model? With the flash memory serving as the backing store and files can be memory mapped on the flash drive? The same model the full-fledged OS X uses! So any mucking about with what is in RAM has the potential to destroy allocated regions of memory-with future crashing results. If it isn't destroyed, then moving information out of memory and to the backing store by "forcing" it to be paged out wastes space on the flash, needlessly eats up flash write cycles moving the flash memory closer to failure for no good reason and makes the next time you load your app take longer because it has to be read back in.



    That part of the app still sitting there in RAM is left there because it is more likely you will run that program again in the very near future than to run some completely different program. A concept called temporal coherence. We implement ways to take advantage of that by being lazy in doing things like kicking data out of RAM. We let actual usage dictate what should be in RAM rather than some artificial determination of what one person thinks should be in RAM.



    Because we haven't heard of lots of crashes from badly broken memory I'll give the app dev the benefit of the doubt and figure they worked out some some sort of forced paging - not that hard to do with only 128 or 256MB of RAM to deal with.



    If you always use different apps and never ping-pong back and forth amongst a small core of apps there might be a small gain due to hardware limitations of how flash pages are written out. But if a user does have a core group of apps that are used most of the time, then mucking about with how the memory manager is doing things is a bad idea and at best will hurt performance, and at worst can cause application crashes.
  • Reply 6 of 10
    I think this is similar to what OS X does. Use all available RAM and swap things out only when required. It is a good model especially for a hand held where power consumption and CPU cycles are at a premium. App developers don't need to "help" other applications unless they are writing system utilities. Again, with the current generation of operating systems, utilities like Norton only hurt the system and don't help. This is true under OS X and Windows. If performance does degrade, Apple can fix it at the OS level. They aren't silly to make design choices out of the blue and we don't know their considerations.



    I am curious to know which API pmz is talking about though.
  • Reply 7 of 10
    hirohiro Posts: 2,663member
    Not only similar, but the same. The Memory Management manual which describes the memory subsystems for iPhoneOS and OS X are one document with both OSs listed in the title. iPhoneOS is mainly a subset of OS X with as little device specific deviation as possible.



    [There are additional iPhone specific memory management docs which give app developers tips based on the relatively restricted iPhone RAM footprint, and A LOT of guidance on how to not generate self-inflicted memory leaks.]
  • Reply 8 of 10
    pmzpmz Posts: 3,433member
    Theorizing based on the fact that OSX handles memory with the same principles on both the iPhone and the Mac doesn't get you any closer to a solution for the iPhone, because, they perform differently. Programmed the same they might be, but the same behavior, you do not find.



    Part of the problem is that Apple has not built a device (and optimized software for...) anything running 128/256 mb of ram in over 5 years. The inherent programming is of course not bad (its OSX!), but the implementation is not good. Its almost arrogant, the way I see and understand it. Its almost as if Apple refused to even tweak the iPhone OS memory management because they insisted on it being "the same" as desktop OSX. It didn't even matter that there would not be enough RAM left over once a task is initiated, to "multi task" for at least the first 4-5 generations of the product. Groundwork was laid was for 10 gens, at least.



    Basically the iPhone, just like current OSX, is designed to work best with 1 gig or more of RAM. This is why you will not see willy-nilly multi tasking until that amount of RAM is reached. Apple was able to code and program its media player to function while most other tasks are being run, but that's about it. Don't expect to run Pandora while playing Hero of Sparta until your iPhone stats are similar to the first gen MacBook.



    Again, there is nothing inherently wrong with the way its programmed, however the device itself is WRONG for it.



    Not enuf gigabytez
  • Reply 9 of 10
    hirohiro Posts: 2,663member
    Bitching that the phone isn't outfit like a netbook isn't a very effective argument. It is a phone and operates in it's web-device/phone niche VERY well.



    My take on your analysis is you don't want to think about the real limitations of the hardware you are targeting, which is a very bad stance to take. You want laptop resources available. Well that ain't gonna happen. Plan better, more efficiently targeted graphic elements, thats where the vast majority of apps use their large RAM footprints. Code is pretty damn cheap, even when you tack on the Obj-C runtime.



    Mach, which is the core of Darwin, was designed to do memory management in the 1-4MB installed on a minicomputer days. So I really don't find your GB prejudice valid and your opinion that now it can't handle 256MB because it's too small a RAM footprint is grossly uninformed.
  • Reply 10 of 10
    pmzpmz Posts: 3,433member
    Quote:
    Originally Posted by Hiro View Post


    Bitching that the phone isn't outfit like a netbook isn't a very effective argument. It is a phone and operates in it's web-device/phone niche VERY well.



    My take on your analysis is you don't want to think about the real limitations of the hardware you are targeting, which is a very bad stance to take. You want laptop resources available. Well that ain't gonna happen. Plan better, more efficiently targeted graphic elements, thats where the vast majority of apps use their large RAM footprints. Code is pretty damn cheap, even when you tack on the Obj-C runtime.



    Mach, which is the core of Darwin, was designed to do memory management in the 1-4MB installed on a minicomputer days. So I really don't find your GB prejudice valid and your opinion that now it can't handle 256MB because it's too small a RAM footprint is grossly uninformed.



    The iPhone already is outfit like a netbook. 256 mb is a lot of RAM. Only 4 years ago an Intel MacBook could run on that much just fine*.



    But even a 4 year old MacBook does not have a tragic coding flaw that causes memory to become unused.



    Memory becomes unused. Do you understand this? It gets used, then becomes unused..and thus, unusable.



    This type of behavior would be expected on portable OSX device than runs multiple apps, but has a poor programming side effect. On a device designed to run one app at a time, its a terrible programming oversight

    ------



    All of that nonsense aside:



    Apple's support documentation recommends frequent reboots of the iPhone to clear memory.....................? Why would this be the case if its not a significant BUG?



    The purpose of "Free Memory", is a soft way to accomplish the same task. Apple taking it away is simply a way of NOT acknowledging their problem, to point that they won't allow a fix to exist anymore.



    If they can't acknowledge that the problem exists, then they can't allow a 3rd party solution to exist. That would look really bad ( and it does / has ).



    Why have they not removed it until now? After 2 years? Well, arrogantly and simplistically, they "solved" the non-problem by releasing an iPhone with "twice da memory".



    Yes, this IS how arrogant and childish Apple is. They aren't going to program away these glitches. They are inherent. For those that don't understand the term in this context, it's a glitch that is otherwise essential to programming. Its deeply embedded, and will trickle down in all future OS revisions. Like genetics. Just like full OSX, inherent problems will remain until the day they re-write everything. ie: the Finder in Snow Leopard
Sign In or Register to comment.