You know you love the graphic. Unfortunately, it’s true. The Diamond has a HUGE memory leak in main memory. Don’t get me wrong, the Diamond is an amazing and revolutionary device, but considering some versions give you about 64K or less of Main Memory to accomadate temp files, history, loading programs into memory, etc., it’s a big issue.
I’ve encountered this problem quite a few times now and it’s a pretty annoying thing to keep having a message showing “Main memory is low. Delete some files…” or something like that keep popping up while using Opera or having the YouTube app suddenly close after buffering. Where’s this problem stemming from? Is it TouchFLO 3D? Let’s find out.
In my case, after a hard reset which wiped everything off of main memory and I restarted with the stock ROM, I had somewhere in the ballpark of 60K - 90K of unused Main Memory space. After little over a week, I started getting these memory messages and available Main Memory had dropped to only 4K. Just to get some perspective, since I had these problems before, this reset I made sure to not install anything to main memory. Not only that, I closeed most apps after I was done and cleared out history and temporary files from Opera and YouTube. Even then I manage to get this problem.
Fortunately, the future is bright for Diamond users. There are many ROMS over at XDA-Devs that claim to stop these memory leaks. Personally, I’ve stuck to the stock 1.93 HTC ROM and that just might be my problem. Warning: If you try one of these ROMS, make sure to HardSPL your phone in order to protect it from bricking if something goes wrong.
Have any suggestions about fixing the memory leak? Post ‘em on the forums or just post your thoughts here.

August 27th, 2008 at 9:16 pm
yea diamond tends to get real real slow and laggy… ive had that on all of the roms ive had
August 29th, 2008 at 12:20 am
60-90K? I hope you mean 60-90MB…
August 29th, 2008 at 12:42 am
I just did a little research on the memory leak. From what I can tell, it seems that people are misunderstanding how Windows Mobile manages memory. Most applications never actually exit from memory, but instead of “minimize” and the OS waits until memory pressure is high enough before it asks them to free some memory or close. This was done to increase performance in older slower systems that run Windows CE. More information can be found here: http://blogs.msdn.com/windowsmobile/archive/2006/10/05/The-Emperor-Has-No-Close.aspx
Essentially, the longer a device is on, the more likely you are to reach 90% memory usage during absolutely NORMAL operation. The cool thing is that once you get past a certain point, the OS automatically starts closing the least used apps that you thought you already closed, maintaining as close as possible to full memory usage on purpose, for performance reasons.
There may be a legitimate memory leak on the Diamond, but a lot of what that I’m reading are just posts complaining that the memory usage gets high after the unit has been on for a long period of time, which is actually completely normal on any WM device.
August 29th, 2008 at 6:05 am
Wow. You did quite a bit of research, not just a little! But here’s the difference with the Diamond and most new HTC touchscreen phones: On the Today screen, there is a plugin in the status bar at the top that allows you to close out of programs that are minimized by Windows Mobile. It’s a very convenient way to close programs without task manager.
August 29th, 2008 at 8:46 pm
I have that app on my Mogul too, but some apps are “hidden” from closing using that. Additionally, a crashed program will never show up because it doesn’t respond to whatever query it’s performing. I’ve had to go into the Windows CE taskmgr or other 3rd party ones to kill hung apps because the HTC one just doesn’t show it. It’s strange.
I’m speculating here, but since Opera is sort of “integrated” into the TouchFlo 3D system, I would imagine you can’t kill Opera using the HTC taskmgr. Can somebody confirm that? If that’s the case, Opera will hold onto quite a bit of RAM after even a moderate amount of use, but *should* release it when the OS asks for it. However, sicne I haven’t paid for it, I’ve only had a couple weeks playing with it on my Mogul. I just don’t do a lot of browsing on my Mogul.
If Opera isn’t releasing memory correctly, or if some other aspect of the TouchFlo 3D integrated system isn’t, that will definitely be a memory leak candidate!!
However, I haven’t seen very much good information on this subject. When I get my Touch Pro (whenever Sprint releases it), I’ll be able to tinker and see what’s going on. I guess just color me a little skeptical that something that fills memory during normal use after only a week made it through QA. Not that it would be the first time something like that has happened, mind you, but I guess I’d like to just see more evidence.
I’d especially love to know WHICH process (or processes) are the hogs!
September 5th, 2008 at 11:07 pm
I think you’re on the right path. Opera, however, can be controlled by the task manager and isn’t really integrated in TF3D. But as you said, that actually happens with the messaging/email/music/photos/settings tabs. Those are integrated in and you can’t change them. It would be great if there was an app out there that could stop even these processes that are basically housed inside of TF3D.
September 5th, 2008 at 11:44 pm
[...] too long ago I was complaining about the memory leak and rapid memory loss on the Touch Diamond. As most Touch Diamond owners know, I’m not the [...]