博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android获取系统应用大小的方法
阅读量:7043 次
发布时间:2019-06-28

本文共 1779 字,大约阅读时间需要 5 分钟。

List
packages = getPackageManager().getInstalledPackages(0);public PkgSizeObserver pkgsizeobserver = new PkgSizeObserver();try { Method method; method = this.getPackageManager().getClass().getMethod( "getPackageSizeInfo", new Class[] { String.class, IPackageStatsObserver.class }); method.invoke(this.getPackageManager(), packageInfo.packageName, pkgsizeobserver); } catch (NoSuchMethodException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IllegalAccessException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IllegalArgumentException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (InvocationTargetException e) { // TODO Auto-generated catch block e.printStackTrace(); } synchronized (pkgsizeobserver) { try { pkgsizeobserver.wait(); } catch (InterruptedException e) { e.printStackTrace(); } } totalApp = pkgsizeobserver.cachesize + pkgsizeobserver.codesize + pkgsizeobserver.datasize;}
 
PkgSizeObserver.class
//aidl文件形成的Bindler机制服务类public class PkgSizeObserver extends IPackageStatsObserver.Stub {	public long cachesize = 0;	public long datasize = 0;	public long codesize = 0;	/***	 * 回调函数。	 * 	 * @param pStatus	 *            ,返回数据封装在PackageStats对象中	 * @param succeeded	 *            代表回调成功	 */	@Override	public void onGetStatsCompleted(PackageStats pStats, boolean succeeded)			throws RemoteException {		// TODO Auto-generated method stub		if(succeeded)		{			cachesize = pStats.cacheSize; // 缓存大小			datasize = pStats.dataSize; // 数据大小			codesize = pStats.codeSize; // 应用程序大小			synchronized (this) {				this.notifyAll();			}		}	}}

转载于:https://www.cnblogs.com/yutingliuyl/p/7286797.html

你可能感兴趣的文章
学习笔记-小甲鱼Python3学习第十一讲:一个打了激素的数组2
查看>>
MXNet 源码解读系列之一 C++端如何解析NDArray参数文件
查看>>
shell编程变量及变量类型
查看>>
Go & Assembly
查看>>
Linux常用的基本命令12
查看>>
ORACLE数据库事务隔离级别介绍
查看>>
DHCP服务和http服务
查看>>
bitnami 使用记录
查看>>
Vsftpd+(linux)文件服务器
查看>>
P2P技术如何将实时视频直播带宽降低75%?
查看>>
统计文件夹下文件总数
查看>>
JEPLUS之循环报表—JEPLUS软件快速开发平台
查看>>
从一个线上问题分析binlog与内部XA事务提交过程
查看>>
网页版式设计与平面构图
查看>>
view桌面模板控制usb权限
查看>>
吾日三省吾身
查看>>
【office培训】【王佩丰】Excel2010视频教程第2讲:单元格格式设置
查看>>
android inflate
查看>>
libxml2的编译与安装
查看>>
Spring Boot中使用redis的发布/订阅模式
查看>>