計算ImageLoader載入圖片的快取大小
阿新 • • 發佈:2019-01-25
因為計算大小相對比較耗時,所以儘量開始子執行緒計算,handler修改顯示的快取大小
//開啟子執行緒,計算快取檔案的大小 new Thread(new Runnable() { @Override public void run() { try { //ImageLoader儲存快取圖片的路勁 File Cachepath = new File(Environment.
getExternalStorageDirectory().getPath() + "/ImageLoaderCache"); intFileSize = 0; // 分別得到裡面檔案的大小 for (int i = 0; i < Cachepath.listFiles().length; i++) { File file1 = Cachepath.listFiles()[i]; FileInputStream fi = new FileInputStream(file1); FileSize += fi.available();//FileInputStream他的這個方法可以
得到檔案的大小} //得到檔案的大小,設定到huancun這個TextView上面顯示String size = Formatter.formatFileSize(SetActivity.this,
FileSize); Message msg = Message.obtain(); msg.what = 1; msg.obj = size; handler.sendMessage(msg); } catch (IOException e) { e.printStackTrace(); } } }).start();
private Handler handler = new Handler() { @Overridepublic void handleMessage(Message msg) { super.handleMessage(msg); if (msg.what == 1) { String size = (String) msg.obj; //修改當前快取大小 huancun.setText("當前快取:" + size); } } };
ImageLoader.getInstance().clearDiskCache();//清除快取 ImageLoader.getInstance().clearMemoryCache();//清除記憶體快取