android应用对于内存的大小是有限制的,android 应用对内存是如何限制的?我们应该如何合理使用内存?如何限制的?...

Android 应用的开发语言为 Java,每个应用最大可使用的堆内存受到 Android 系统的限制

•Android 每一个应用的堆内存大小有限

•通常的情况为 16M-48M

•通过 ActivityManager 的 getMemoryClass()来查询可用堆内存限制

•3.0(HoneyComb)以上的版本可以通过 largeHeap=“true”来申请更多的堆内存

•NexusS(4.2.1):normal 192, largeHeap 512

•如果试图申请的内存大于当前余下的堆内存就会引发 OutOfMemoryError()

•应用程序由于各方面的限制,需要注意减少内存占用,避免出现内存泄漏。

mActivityManager=(ActivityManager)this.getSystemService(Context.ACTIVITY_SERVICE);

mMaxMemory=mActivityManager.getMemoryClass();

如何合理使用内存?

1、注意资源回收,像数据库,输入输出流,定位操作这样的对象,要在使用完及时关闭流。

2、少使用静态变量,因为系统将静态变量的优先级设定的很高,会最后回收。所以可能因为静态变量导致该回收的没有回收。而回收了不该回收的内存。

3、注意大图片的缩放,如果载入的图片很大,要先经过自己程序的处理,降低分辨率等。最好设置多种分辨率格式的图片,以减少内存消耗。

4、 动态注册监听, 把一些只有显示的时候才使用到的监听放进程序内部, 而不是放在 manifesat中去。

5、减少使用动画,或者适当减少动画的帧数。

6、注意自己的程序逻辑,在该关闭自己程序的控件的时候,主动关闭,不要交给系统去决定。(这个要自己把握好, 也不是说都自己搞定, 只有那些自己确定需要关闭的对象, 自己将其关闭。 )

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值