android获取系统应用大小的方法

来源:互联网 发布:jackson 数组转json 编辑:程序博客网 时间:2024/06/10 00:02
<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 blocke.printStackTrace();} catch (IllegalAccessException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IllegalArgumentException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (InvocationTargetException e) {// TODO Auto-generated catch blocke.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 *            代表回调成功 */@Overridepublic void onGetStatsCompleted(PackageStats pStats, boolean succeeded)throws RemoteException {// TODO Auto-generated method stubif(succeeded){cachesize = pStats.cacheSize; // 缓存大小datasize = pStats.dataSize; // 数据大小codesize = pStats.codeSize; // 应用程序大小synchronized (this) {this.notifyAll();}}}}</span>


0 0
原创粉丝点击