android getMemoryClass()的使用

今天,我简单记录

getMemoryClass()的使用,之前看到这个,不知道有什么作用,后来在网上查找资料,明白用途了。


Android基本概念: 应用, 任务, 进程, 和线程


开始我们的ActivityManager学习吧!


ActivityManager的内部类:

ActivityManager.MemoryInfo : 系统内存使用情况的信息 ,可以通过getMemoryInfo(ActivityManager.MemoryInfo). 来获得该类对象

ActivityManager.ProcessErrorStateInfo: 错误状态的进程

ActivityManager.RecentTaskInfo:近期用户打开的任务信息

ActivityManager.RunningAppProcessInfo: 正在运行的应用程序进程

ActivityManager.RunningServiceInfo: 正在运行的服务信息

ActivityManager.RunningTaskInfo: 正在运行的任务信息


ActivityManager类对象的获取: 

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

ActivityManager类中的方法: 

public int getLargeMemoryClass ()说明: 如果在AndroidManifest.xml中的<application >标签下将属性android:largeHeap=“true”

  这个属性决定你的应用进程是否应当在更大的Dalvik堆中创建,为了在运行时查看可用内存,

可用getLargeMemoryClass()或者 getMemoryClass()



 通过代码查看每个进程可用的最大内存,即heapgrowthlimit值:
ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
int memClass = activityManager.getMemoryClass();//64,以m为单位

注意:在设置了heapgrowthlimit的情况下,单个进程可用最大内存为heapgrowthlimit值。在android开发中,如果要使用大堆,需要在manifest中指定android:largeHeap为true,这样dvm heap最大可达heapsize。


其实就是查询手机对于app的最大使用内存,这个可以判断手机的性能,从而确定自己的app该注重性能还是注重内存的使用。


android getMemoryClass()的使用就讲完了、


就这么简单。






  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值