Android项目重构之路:界面篇

原创文章,转载请注明:转载自Keegan小钢

并标明原文链接:http://keeganlee.me/post/android/20150619

微信订阅号:keeganlee_me

写于2015-06-19

Android项目重构之路:架构篇

Android项目重构之路:界面篇

Android项目重构之路:实现篇

在前一篇文章《Android项目重构之路:架构篇》中已经简单说明了项目的架构,将项目分为了四个层级:模型层、接口层、核心层、界面层。其中,最上层的界面,是变化最频繁的一个层面,也是最复杂最容易出问题的一个层面,如果规划不好,很容易做着做着,又乱成一团了。

要规划好界面层......

Android项目重构之路:架构篇

原创文章,转载请注明:转载自Keegan小钢

并标明原文链接:http://keeganlee.me/post/android/20150605

微信订阅号:keeganlee_me

写于2015-06-05

Android项目重构之路:架构篇

Android项目重构之路:界面篇

Android项目重构之路:实现篇

去年10月底换到了新公司,做移动研发组的负责人,刚开始接手android项目时,发现该项目真的是一团糟。首先是其架构,是按功能模块进行划分的,本来按模块划分也挺好的,可是,他却分得太细,总共分为了17个模块,而好几个模块也就只有两三个类而已。但应用本身其实比较简单,要按......

Android技术积累:图片异步加载

原创文章,转载请注明:转载自Keegan小钢

微信订阅号:keeganlee_me

写于2012-12-14

当在ListView或GridView中要加载很多图片时,很容易出现滑动时的卡顿现象,以及出现OOM导致FC(Force Close)。

会出现卡顿现象主要是因为加载数据慢,要等数据加载完才能显示出来。可以通过将数据分页显示,以及将耗时的图片加载用异步的方式和图片缓存,这样就可以解决卡顿的问题。

大部分开发者在ListView或GridView加载图片时,都会在getView方法里创建新的线程去异步加载图片。然而,当屏幕快速向下滑动时,每个划过的Item都会调用getView......

Android技术积累:图片缓存管理

原创文章,转载请注明:转载自Keegan小钢

微信订阅号:keeganlee_me

写于2012-12-06

如果每次加载同一张图片都要从网络获取,那代价实在太大了。所以同一张图片只要从网络获取一次就够了,然后在本地缓存起来,之后加载同一张图片时就从缓存中加载就可以了。从内存缓存读取图片是最快的,但是因为内存容量有限,所以最好再加上文件缓存。文件缓存空间也不是无限大的,容量越大读取效率越低,因此可以设置一个限定大小比如10M,或者限定保存时间比如一天。

因此,加载图片的流程应该是:

先从内存缓存中获取,取到则返回,取不到则进行下一步;

从文件缓存中获取,取到则返回并更新到内存缓存,......