Android擷取擷取程式的大小,緩衝的大小

來源:互聯網
上載者:User

在安卓開發中要想獲得一個應用的大小,即將它所產生的資料的大小,和緩衝的大小,需要用到android.content.pm. IPackageStatsObserver.aidl和android.content.pm.PackageStats.aidl這兩aidl,引入這兩aidl之後,就可以定義如下方法得到緩衝,程式的大小了(參數pkg為應用的包名):

 

//擷取程式大小 ,緩衝大小,

         publicvoid getpkginfo(String pkg) {

                   PackageManagerpm = context.getPackageManager();

                   try{

                            //通過反射技術得到私人方法:getPackageSizeInfo

                           MethodgetPackageSizeInfo =

                                               pm.getClass().getMethod("getPackageSizeInfo",String.class,IPackageStatsObserver.class);

                            getPackageSizeInfo.invoke(pm,pkg, new PkgSizeObserver());

                   }catch (Exception e) {

                   }

         }

 

         classPkgSizeObserver extends IPackageStatsObserver.Stub {

                   @Override

                   publicvoid onGetStatsCompleted(PackageStats pStats, boolean succeeded) {

                            Log.i(TAG,"程式大小為"+pStats.codeSize);

                            Log.i(TAG,"程式資料為"+pStats.dataSize);

                            Log.i(TAG,"程式緩衝為"+pStats.cacheSize);

                   }

         }

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.