Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> android 之 下載管理器 在任何地方監聽進度設計思路

android 之 下載管理器 在任何地方監聽進度設計思路

編輯:關於Android編程

大家想必,做應用市場,或者其他下載,都想在任何地方都監聽進度,並且很好的實現。

在這裡分享一個比較簡單,並且防止內存溢出等情況。我們使用的弱引用來進行綁定View進行更新進度方法。

Map> viewListem = new HashMap>();// 對進度條進行弱引用

防止內存不夠的時候進行回收。

key為下載地址

value 進度條

//添加進度條引用。

public synchronized void addViewToCache(String path, View view) {

if (viewListem == null) {
return;
}
WeakReference softView = new WeakReference(view);
viewListem.put(path, softView);
}
//獲取進度條。
public synchronized View getViewByPath(String path) {
if (viewListem == null) {
return null;
}
// 從緩存中取軟引用的View對象
WeakReference softView = viewListem.get(path);
// 判斷是否存在軟引用
if (softView == null) {
return null;
}
// 取出View對象,如果由於內存不足View被回收,將取得空
View view= softView.get();
return view;
}


接下來就是,就到進度監聽的回調接口去,獲取到對應的View進行更新進度吧。搞定。

是不是既簡單又實現方便。又防止內存溢出。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved