人生必须的知识就是引人向光明方面的明灯。这篇文章主要讲述经过多少内存消耗Android抛出OutOfMemoryException相关的知识,希望能为你提供帮助。
它是一个old post,但仍然在大多数地方我发现一个android应用程序绕过16-32 MB
内存
但是,当我检查android Profiler
时,它说我的应用程序目前在350 MB
上使用Samsung Galaxy S7
内存。
【经过多少内存消耗Android抛出OutOfMemoryException】我几次在我的应用程序上获得OutOfMemoryException
,我很好奇为什么会发生这种情况。当我挖掘一点我发现有关16-32 MB
限制,但实际上我的应用程序使用350 MB
我想知道一个普通的Android手机给每个应用程序多少内存,或者它是一个可变数字,如果没有运行app,android将不会给outOfMemoryException
,如果有这么多应用程序在堆栈中则有更高的机会OutOfMemoryException
但同样会有一些限制。
文章图片
答案由于操作系统越来越老,And??roid设备差别很大。如果您希望您的应用程序在低端设备上工作以确保安全,那么您绝对应该瞄准低于32mb的限制。除非您正在加载一些非常大的图像,否则听起来您的代码正在泄漏内存。
首先从您的应用中删除任何图片(或其他资源)加载,看看您是否还有问题。如果你这样做,请查看LeakCanary,当你发现泄漏了解它们以及它们为什么会发生时,因为它将帮助你成为一个更好的Android程序员无法估量。应用程序泄漏内存的主要方法之一是将Activity上下文传递给长时间运行的任务:)
推荐阅读
- Android,XML(gravity = top无法正常工作(截图))
- Android(为什么setVisibility(View.GONE);或setVisibility(View.INVISIBLE);不工作)
- 如何围绕Android LinearLayout创建边框()
- Fab按钮带有显示阴影的图标(Android 4.1)
- 如何使用Android自定义视图中的属性设置调整膨胀布局的大小()
- 在android studio中删除重构xml中的空格行
- 如何设置背景图片Android xml文件的透明度
- 开发人员犯的10个最常见的Bootstrap错误
- Ractive.js-简化Web应用程序