为了账号安全,请及时绑定邮箱和手机立即绑定

Android必学-异步加载

难度中级
时长 1小时57分
学习人数
综合评分9.70
220人评价 查看评价
9.9 内容实用
9.7 简洁易懂
9.5 逻辑清晰
  • Android异步加载的总结。除了LruCache,我们还可以使用DiskLruCache这个第三方的类来实现“二级缓存”。异步加载不仅仅是获取网络资源,我们可以加所有耗时的操作都看成异步加载,所有通过耗时的操作获取的结果我们都可以通过缓存来提高效率,比如我们可以利用这里的LruCache和DiskLruCache(这个缓存一般是用于缓存从网络获取的图片,视频等大的资源,这个时候我们一般和LruCache结合使用),使用Cache有个缺点,就是我们不能保证我们的数据是实时的,所以在realtime需求高的应用中,我们不应该使用缓存。而对于本地资源,我们很少用缓存的,就算是操作SQLite数据库,我们也很少会用到LruCache,但是也有使用的。
    查看全部
    1 采集 收起 来源:总结

    2015-06-22

  • 我们将“预加载”放在onScroll方法中去进行,因为这个回调会在ListView启动和绘制的时候被多次调用。为了保证我们的图片加载是在ListView被绘制出来之后进行的,我们需要判断visibleItemCount这个参数是否大于0。
    查看全部
  • 当我们将加载图片的控制权交给了onScrollStateChanged()这个回调函数之后,我们会遇到一个问题,当程序刚启动的时候,我们的图片是不会被加载的,原因在于一开始的时候onScrollStateChanged()这个回调函数是不会被调用的,所以我们需要对开始的图片进行“预加载”。
    查看全部
  • ListView的进一步优化
    查看全部
  • LruCache是将图片缓存在内存中,而还有个第三方的类DiskLruCache来将图片缓存到手机的Disk上,而我们大型的app,一般都是将LruCache和DiskLruCache结合起来使用,形成一个memory hierarchy。Perfect!!
    查看全部
    0 采集 收起 来源:LruCache缓存(上)

    2015-06-22

  • 对于从网络上获取图片这种需求,我们都要使用Cache来将我们的图片缓存起来,尤其是对于ListVIew这种,不能每次我们滑动ListView就重新从网上下载图片,这样会很浪费资源而且浪费手机的流量。在Android中,已经为我们提供了一个用于缓存的类LruCache。我们可以使用这个类来实现我们对于图片资源的缓存。
    查看全部
    0 采集 收起 来源:LruCache缓存(上)

    2015-06-22

  • Android提供了LruCache类来实现这个缓存算法。
    查看全部
    0 采集 收起 来源:LruCache缓存(上)

    2015-06-22

  • 在进行图片的异步加载的时候,我们往往会为图片设置一个tag,这个tag就是图片的url(uri),去防止图片的加载由于ListView的缓存机制造成的加载之前图片的情况发生。
    查看全部
    1 采集 收起 来源:使用Thread

    2015-06-22

  • 从网络上通过URL String获取图片并且转成Bitmap的方法
    查看全部
    0 采集 收起 来源:使用Thread

    2015-06-22

  • 异步加载的第二层,对从网络上获取图片这个过程实现异步化——异步加载网络图片。
    查看全部
    0 采集 收起 来源:逻辑梳理

    2015-06-22

  • 异步加载的第一层:通过AsyncTask访问网络,获取json或者XML字符串,然后解析他们产生若干object,将每个object放入到ListVIew中(adapter需要使用view holder pattern去写),AsyncTask中的访问网络获取json或者XML字符串,并且产生若干个object的工作就是在doInBackground()方法中进行的,所以这个方法总的来说就是用来准备数据源的。
    查看全部
    0 采集 收起 来源:逻辑梳理

    2015-06-22

  • 在Android中我们使用JSONObject类来解析json字符串。
    查看全部
  • 通过URL或者网络资源的方法
    查看全部
    0 采集 收起 来源:获取Json数据

    2015-06-22

  • Android异步加载
    查看全部
  • 我跟着吧代码打完了发现最后图片没显示出来,后来又看了一遍视频,确认没少敲代码,但还是显示不出来,郁闷,不知道哪里错了。
    查看全部
    2 采集 收起 来源:总结

    2015-06-20

举报

0/150
提交
取消
课程须知
1、了解异步处理的一般方法 2、掌握如何使用多线程进行异步加载 3、掌握如何使用ASyncTask进行异步加载 4、异步加载的缓存与优化
老师告诉你能学到什么?
本课程是Android中级课程 1、熟练掌握基本的Android应用程序开发方法

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!