展会信息港展会大全

介绍一个提高Android ListView或GridView的Smoothie库
来源:互联网   发布日期:2015-11-26 13:11:08   浏览:1601次  

导读:翻译 By Long Luo 原文链接:Introducing SmoothiePattrn UI中的很大一部分是在滑动时从云端获取图片列表。所以我花了相当长的一段时间...

翻译 By Long Luo

原文链接:Introducing Smoothie

Pattrn UI中的很大一部分是在滑动时从云端获取图片列表。所以我花了相当长的一段时间去调试,以获得滑动时的体验尽可能的流畅。在过去的几周里,我一直在试图解耦代码,完成了一个很小的库:Smoothie。

Smoothie提供了一个简单的API来异步加载ListView/GridView的项目,以和UI线程分离。它做了所有你所期望做的事情,加载项目变得可见,取消要求回收的View对应的项目等。但它所完成的还不止这些。

Smoothie是手势识别:在Fling手势时,它会必须发起加载项目请求;在滑动列表时,当你的手指按下时,将会启用增量加载项目请求。此外,它支持当前屏幕外项目预加载功能,当你滑动时,可以减少加载占位符类型的项目数。说穿来,Smoothie使用了一个支持可以阻塞队列动态优先执行的的线程池。在屏幕上滑动时,屏幕外即将可见的项目加载请求将动态的获取更高的优先级。

那么,怎么使用它呢?很简单:

1. 首先在你的布局文件中增加一个AsyncListView或者AsyncGridView,只需要增加一个额外传递的方法到响应的父类中。

2. 然后实现一个和你的应用程序加载和显示项目逻辑一致的ItemLoader。你将需要重写下面四种方法:getItemParams(), loadItem(), loadItemFromMemory()以及displayItem()。

3.最后在ItemLoader中建一个ItemManager,同时把它和目标AsyncListView或者AsyncGridView关联起来。

在你的ListView/GridView控件需要异步加载时,考虑下把Smoothie作为你的轻量骨架。您可以轻松地连接您自己的图像加载/缓存框架在里面。例如,一个典型的示例应用,Android-BitmapCache实现了ItemLoader使用一个简单的淡入淡出的动画来显示图像。

除了在代码中的API文档,还可以看看App示例,一边更好地了解如何使用该库。请记住,API是?不是最终版本哦。目前反响是非常好的!

Enjoy it:-)

Long Luo at AM11:30 ~ 12:42 Feb. 15th, 2014 @Shenzhen, China.

赞助本站

人工智能实验室

相关热词: android开发 教程

AiLab云推荐
推荐内容
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港