zoukankan      html  css  js  c++  java
  • android 之 下载管理器 无论监测在当地的设计思路

    我相信你。让应用市场。或其它下载,想不管是什么地方监测进展情况。而且很好的实现。

    这里分享一个相对简单的,并防止内存溢出等。。我们用一个引用弱结合View进展更新方法。

    Map<String, WeakReference<View>> viewListem = new HashMap<String, WeakReference<View>>();// 对进度条进行弱引用

    防止内存不够的时候进行回收。

    key为下载地址

    value 进度条

    //加入进度条引用。

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

    if (viewListem == null) {
    return;
    }
    WeakReference<View> softView = new WeakReference<View>(view);
    viewListem.put(path, softView);
    }
    //获取进度条。
    public synchronized View getViewByPath(String path) {
    if (viewListem == null) {
    return null;
    }
    // 从缓存中取软引用的View对象
    WeakReference<View> softView = viewListem.get(path);
    // 推断是否存在软引用
    if (softView == null) {
    return null;
    }
    // 取出View对象,假设因为内存不足View被回收,将取得空
    View view= softView.get();
    return view;
    }


    接下来就是,就到进度监听的回调接口去。获取到相应的View更新进度条。弄。

    不是一个简单的,容易实现。但也要防止内存溢出。

    版权声明:本文博主原创文章。博客,未经同意不得转载。

  • 相关阅读:
    追加元素的几种方法(append()、prepend()、after()、before()、insertAfter()、insertBefore())jquery
    微生物如何找吃的?
    细菌找吃的
    浓度梯度与偏倚随机行走
    我与吴建民先生的一点交集
    续谈随机行走
    随机行走
    小物体有轮子吗?
    食品卡路里是如何计算出来的?
    这门课有什么用?
  • 原文地址:https://www.cnblogs.com/bhlsheji/p/4826060.html
Copyright © 2011-2022 走看看