查詢android中各個應用的緩衝

來源:互聯網
上載者:User

標籤:android   style   blog   io   color   sp   div   on   問題   

如何查詢android手機中各個應用的緩衝,很多手機衛士都有這個功能,但是從官方文檔中找不到相應的api,那麼問題就來了。。。如何?這個功能?android開源的好處就是你可以翻系統源碼,找到系統中設定的源碼,系統設定中的應用詳情裡面就有緩衝大小。從源碼中可以看到Setting應用是調用的PackageManager中的getPackageSizeInfo方法,該方法接受兩個參數,一個是包名,一個是名為IPackageStatsObserver的aidl對象,那麼我們匯入IPackageStatsObserver這個aidl到我們的工程下面,發現IPackageStatsObserver還需要一個名為PackageStats的aidl,同樣匯入。

研究PackageManager發現getPackageSizeInfo方法只能系統調用,如何解決?反射唄,好了問題解決了代碼如下:

 1 public class CleanCatchActivity extends Activity { 2     @Override 3     protected void onCreate(Bundle savedInstanceState) { 4          5         super.onCreate(savedInstanceState); 6         setContentView(R.layout.activity_cleancache); 7         PackageManager pm = getPackageManager(); 8         Class pckclass = PackageManager.class; 9         try {10             Method method = pckclass.getMethod("getPackageSizeInfo", String.class,IPackageStatsObserver.class);11             method.invoke(pm, "cn.chai.mobilesafe",ipso);12         } catch (Exception e) {13             e.printStackTrace();14         }15         16         17     }18 19     IPackageStatsObserver.Stub ipso = new IPackageStatsObserver.Stub() {20         21         @Override22         public void onGetStatsCompleted(PackageStats pStats, boolean succeeded)23                 throws RemoteException {24             25             System.out.println(pStats.cacheSize);26             System.out.println(pStats.dataSize);27         }28     };29     30     31 }

從onGetStatsCompleted這個回調方法中的packagestats方法就可以得到該應用的所有緩衝資訊。

查詢android中各個應用的緩衝

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.