zoukankan      html  css  js  c++  java
  • android获取系统应用大小的方法

    <span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size:18px;"></span></span><pre name="code" class="java">List<PackageInfo> 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;}


    
    
    <span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size:18px;">
    </span></span>
    <span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size:18px;">
    </span></span>
    <span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size:18px;">PkgSizeObserver.class</span></span>
    <span style="font-size:18px;">//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();
    			}
    		}
    	}
    }</span>


  • 相关阅读:
    thinkphp6查询表达式使用between问题
    机器学习纸质作业1
    磁盘挂载
    SQL Server开启READ_COMMITTED_SNAPSHOT
    视觉开发-相机镜头选型
    使用logstash出现报错com.mysql.jdbc.Driver not loaded. Are you sure you've included the correct jdbc driver in :jdbc_driver_library
    linux安装tomcat(转自https://blog.csdn.net/fukai8350/article/details/80467224)
    linux 安装java(转自https://www.cnblogs.com/wjup/p/11041274.html)
    如何统计自动化测试用例的ROI 【投入产出比/投资回报率】
    老男孩老师的博客地址
  • 原文地址:https://www.cnblogs.com/yutingliuyl/p/7286797.html
Copyright © 2011-2022 走看看