我的Android应用程序的内存使用有一些问题,不知道是什么原因导致高内存使用率。当我启动我的应用程序时,它使用高达40 MB的RAM(说DDMS),当我打开另一个应用程序时,我的应用程序立即被杀死。
我阅读了很多关于内存泄漏的内容,并且我正在取消绑定drawable,运行GC等等,但我的应用程序仍然需要大量内存。
我的应用程序中有大约3mb资源,但是afaik根据需要加载到ram中。我错了吗?这可能会导致40mb的RAM使用吗?
编辑:我认为我没有内存泄漏,因为我可以根据需要随时切换每个活动的方向,并且应用程序不会因内存不足而崩溃。所以它不能成为记忆漏洞,可以吗?
答案 0 :(得分:0)
你需要对你的android应用程序进行内存管理,请释放不再使用的资源,尝试覆盖Activity的onStop(),onDestroy(),onPause()方法,它们将跟踪活动堆栈。< / p>
在OnDestroy()方法中释放您的全部资源,以便其他应用程序可以再次使用相同的资源。答案 1 :(得分:0)
您使用的是哪些数据结构?非常大的数据结构(长列表,大图,大地图等)可以快速耗尽RAM。
也可能是您在应用中的方向更改中泄露了上下文。
也可能是你的布局设计得非常糟糕,还有一些繁重的数据结构。
除非你更多地描述你的应用尝试做什么,否则很难判断。