-
Android异步加载的总结。除了LruCache,我们还可以使用DiskLruCache这个第三方的类来实现“二级缓存”。异步加载不仅仅是获取网络资源,我们可以加所有耗时的操作都看成异步加载,所有通过耗时的操作获取的结果我们都可以通过缓存来提高效率,比如我们可以利用这里的LruCache和DiskLruCache(这个缓存一般是用于缓存从网络获取的图片,视频等大的资源,这个时候我们一般和LruCache结合使用),使用Cache有个缺点,就是我们不能保证我们的数据是实时的,所以在realtime需求高的应用中,我们不应该使用缓存。而对于本地资源,我们很少用缓存的,就算是操作SQLite数据库,我们也很少会用到LruCache,但是也有使用的。查看全部
-
我们将“预加载”放在onScroll方法中去进行,因为这个回调会在ListView启动和绘制的时候被多次调用。为了保证我们的图片加载是在ListView被绘制出来之后进行的,我们需要判断visibleItemCount这个参数是否大于0。查看全部
-
当我们将加载图片的控制权交给了onScrollStateChanged()这个回调函数之后,我们会遇到一个问题,当程序刚启动的时候,我们的图片是不会被加载的,原因在于一开始的时候onScrollStateChanged()这个回调函数是不会被调用的,所以我们需要对开始的图片进行“预加载”。查看全部
-
ListView的进一步优化查看全部
-
LruCache是将图片缓存在内存中,而还有个第三方的类DiskLruCache来将图片缓存到手机的Disk上,而我们大型的app,一般都是将LruCache和DiskLruCache结合起来使用,形成一个memory hierarchy。Perfect!!查看全部
-
对于从网络上获取图片这种需求,我们都要使用Cache来将我们的图片缓存起来,尤其是对于ListVIew这种,不能每次我们滑动ListView就重新从网上下载图片,这样会很浪费资源而且浪费手机的流量。在Android中,已经为我们提供了一个用于缓存的类LruCache。我们可以使用这个类来实现我们对于图片资源的缓存。查看全部
-
Android提供了LruCache类来实现这个缓存算法。查看全部
-
在进行图片的异步加载的时候,我们往往会为图片设置一个tag,这个tag就是图片的url(uri),去防止图片的加载由于ListView的缓存机制造成的加载之前图片的情况发生。查看全部
-
从网络上通过URL String获取图片并且转成Bitmap的方法查看全部
-
异步加载的第二层,对从网络上获取图片这个过程实现异步化——异步加载网络图片。查看全部
-
异步加载的第一层:通过AsyncTask访问网络,获取json或者XML字符串,然后解析他们产生若干object,将每个object放入到ListVIew中(adapter需要使用view holder pattern去写),AsyncTask中的访问网络获取json或者XML字符串,并且产生若干个object的工作就是在doInBackground()方法中进行的,所以这个方法总的来说就是用来准备数据源的。查看全部
-
在Android中我们使用JSONObject类来解析json字符串。查看全部
-
通过URL或者网络资源的方法查看全部
-
Android异步加载查看全部
-
我跟着吧代码打完了发现最后图片没显示出来,后来又看了一遍视频,确认没少敲代码,但还是显示不出来,郁闷,不知道哪里错了。查看全部
举报
0/150
提交
取消