当我开始从事我的项目时,我不知道如何编程,我只是边学边学。我的程序需要大量位图图形,我很早就遇到了内存问题。我在我的应用清单中启用了 LargeHeap 以允许我为图形使用更多内存,但从那以后我了解了更多关于 android 如何使用垃圾收集器处理内存的信息。我制作了小型演示应用程序来测试 GC 可以跟上我更改位图的速度并且一切正常。
但是当我尝试在我的大项目中使用 GC 时,该项目现在有一个荒谬的 170mb 堆(该程序不用于一般用途,所以堆并不是真正的问题......我只是很挑剔),内存消耗不断增加。过去我在我的应用程序中注意到 android 的一些奇怪行为,我最终将其归结为“该程序可能对系统来说太大了”,所以我想知道是否有必要相信我的程序太大了还是密集的垃圾收集器足够快地完成它的事情?我的意思是,一个应用程序的 170mb 堆已经够荒谬了,对吧?
编辑 - 我认为问题的可能解决方案,我的问题的答案将来自重写整个程序以利用 GC。但是,正如我所说,这将涉及重写整个事情!- 所以我宁愿不打扰:D