1. 程式人生 > >計算ImageLoader載入圖片的快取大小

計算ImageLoader載入圖片的快取大小

因為計算大小相對比較耗時,所以儘量開始子執行緒計算,handler修改顯示的快取大小
 //開啟子執行緒,計算快取檔案的大小
new Thread(new Runnable() {
            @Override
public void run() {
                try {
                    //ImageLoader儲存快取圖片的路勁
File Cachepath = new File(Environment.
getExternalStorageDirectory().getPath() + "/ImageLoaderCache");
                    int 
FileSize = 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() {
    @Override
public 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();//清除記憶體快取