Skip to content

Commit 0763c2a

Browse files
author
xiaopan
committed
2.0.0
1 parent 9324ea9 commit 0763c2a

27 files changed

+179
-203
lines changed

README.md

+142-181
Large diffs are not rendered by default.

TODOS.txt

+33-16
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ library:
4545
>* (搞定)搜索的默认关键词改为gif色图
4646
>* (搞定)gif drawable 不能使用过渡显示器
4747
>* (搞定)直接集成GIFdrawable到sketch中
48+
>* (搞定)当bitmap创建之后遇到的各种取消,并且没有放到内存缓存之前应该主动释放Bitmap(在解码完后发现取消了就回收Bitmap)
4849
>* (搞定)我擦imageholder处理完了之后原图不能回收啊
4950
>* (搞定)增加一个接口,将sketchimageview的特别功能抽离出来,方便别人自定义,最重要的是在display之前加一个初始化的方法,方便初始化一些在getview中频繁设置的属性
5051
>* (已经搞成瀑布流了)将搜索列表改为RecyclerView
@@ -61,23 +62,28 @@ library:
6162
>* (搞定)示例APP增加修改Bitmap.Config,界面改了一点儿,其它都没动
6263
>* (搞定)有些明确需要透明效果的处理器不能跟着bitmapConfig走
6364
>* (搞定)不再提供bitmapConfig设置,改由自动根据mimeType来选择合适的config,这样更加智能
64-
65-
>* 找个地方给图片给改成圆角的,目的是为了展示圆角的效果
66-
>* 把昨晚看的一篇处理原型图文章里的原型背景拿过来试试
65+
>* (搞定)低版本支持WEBP
66+
>* (低版本不再支持WEBP了,因为WEBP库不支持inSampleSize)已经实现了低版本支持了WEBP,但是目前DefaultImageDecoder代码逻辑还比较混乱,需要再优化以下
67+
>* (搞定)优化ImageFragment中图片显示失败时的提示方式,现在显示失败图片太二了
68+
>* (搞定)SrcBitmapDrawable改名为SketchBitmapDrawable
69+
>* (搞定)把SketchImageView中跟ImageView相关的方法都在interface中也定义一份,这样Sketch中就不需要明确引用ImageView,也更方便别人自定义
70+
>* (搞定)找个地方给图片给改成圆角的,目的是为了展示圆角的效果
71+
>* (搞定)BindBitmapDrawable的setFixedSize不应该转交给recycleDrawable处理,因为每一个都士不一样的,而RecycleDrawable却是一样的,因此比较纠结
72+
>* (搞定)对loadingDrawable提供内存缓存支持,默认缓存容量为可用最大内存的十六分之一,现在你可以放心的对占位图进行各种处理了
73+
>* (搞定)CommentUtils重命名为SketchUtils
74+
>* (搞定)sample中关于页面信息需要更新
75+
>* (搞定)readme.me增加最低版本说明
76+
>* (搞定)初始化Sketch的加入输出版本信息,例如Sketch,2.0.0, 200, release
77+
>* (搞定)是否要对ImageHolder加入同步,貌似还是很有必要的,例如失败图片是在异步线程或主线程都会同时调用的,加同步还是必须的,实现方案是,ImageHolder搞成接口,例如换成PlaceholderImage接口,然后搞三种继承LoadingPlaceholderImage,FailureImage,PauseDownloadImage,然后由于后两者会在异步线程中调用,因此只给后两者加同步
78+
>* (搞定)用百度云测试一下
79+
>* (搞定)readme增加感谢android-gif-drawable说明
80+
>* (搞定)增加forceUseResize参数
81+
>* (搞定)低质量图片参数改名 翻转过来
82+
>* (搞定)HintView里的失败图标和按钮以及下拉帅新的箭头都是灰色的或者样式不符合要求
83+
>* (搞定)enableMemoryCache改名为cacheInMemory,还有enableDiskCache
6784

6885
代办池:
69-
>* loading支持bitmap
70-
>* 用百度云测试一下
71-
>* 解码缓存文件失败的时候要再次下载
7286
>* 用一下其它的几款图片加载器,例如UIL、fresco、glide、picasso对比一下,特别是对RecyclerView的兼容性,然后写博客
73-
>* 支持断点续传
74-
>* 支持OKhttp
75-
>* 可以根据图片ID来作为默认图片,这样貌似就能实现默认图是缩略图的功能了
76-
>* 参考Glide、Fresco和Picasso
77-
>* 写一个系列博客介绍Sketch,也算是做一个总结
78-
>* 想办法支持一次加载两张图一张小图一张大图
79-
>* resize加一个参数,一定要拿到的图跟resize尺寸一样
80-
>* 低版本支持WEBP
8187

8288
考虑的一些问题:
8389
>* (没有必要,因为是BitmapDrawable的话返回的就是其自己,所以没有必要重新绘制)调用drawableToBitmap后drawable是否有必要发现是bitmapdrawable立即释放)
@@ -87,14 +93,25 @@ library:
8793
>* (不靠谱)改AsyncDrawable为RecycleDrawable形式
8894
>* (经测试会自定停止但尚不知是怎么做到的)GifDrawable是否有在隐藏的时候停止播放的功能,有的话是否需要ImageView配合
8995
>* (已经采取了新的方式实现,不再需要处理图片了)对loading drawable处理的时候加上判断尺寸比例是否一样,一样的话就不处理了
96+
>* (不需要已采用新方案实现)考虑是否要去除对loadingDrawable的处理
97+
>* (ClipPath有明显的锯齿,并且无法解决,因此不能使用)SketchImageView支持ClipPath
98+
>* (ClipPath有明显的锯齿,并且无法解决,因此不能使用)SketchBitmapDrawable支持ClipPath
99+
>* (不必了,之前加这个参数主要为了解决圆角图片的问题,现在在圆角处理器中加入了这个功能,解决了这个问题)resize加一个参数,一定要拿到的图跟resize尺寸一样
90100
>* 考虑如何处理下载的垃圾文件,申请空间的时候清理文件要处理那些下载垃圾
91101
>* 考虑将默认图也放到内存缓存中,试图通过这样的方式解决之前担心的默认图太多导致始终占用内存的问题
92102
>* 考虑如何支持用已缓存的小缩略图作为默认图片(比如支持从内存缓存中加载默认图)
93103
>* 考虑支持外部添加一个bitmap到内存缓存中,那么决定是否用recycledrawable就要放在memorycache中了
94-
>* 当bitmap创建之后遇到的各种取消,并且没有放到内存缓存之前应该主动释放Bitmap(在解码完后发现取消了就回收Bitmap)
95104
>* 考虑是否把Bitmap往缓存里放的时机放到主线程来搞
96-
>* 考虑是否要去除对loadingDrawable的处理
97105
>* 用纯色定义的图片作为默认图的时候会发生什么情况呢?
98106
>* 既然APK图标无需关心回收问题,那是不是就没必要费劲给搞到本地缓存区再读,直接读取显示不回收不就行了,然后再考虑如何处理的问题,因为处理之后就需要回收了
99107
>* 考虑对宽高固定的ImageView和普通图片使用像GlideDrawable一样的方式实现,这样可能会更顺畅一点
100108
>* 考虑支持不同的应用场景,例如background,drawableTop等
109+
>* 支持断点续传
110+
>* 支持OKhttp
111+
>* loading支持bitmap
112+
>* 可以根据图片ID来作为默认图片,这样貌似就能实现默认图是缩略图的功能了
113+
>* 参考Glide、Fresco和Picasso
114+
>* 写一个系列博客介绍Sketch,也算是做一个总结
115+
>* 想办法支持一次加载两张图一张小图一张大图
116+
>* 把昨晚看的一篇处理原型图文章里的原型背景拿过来试试
117+
>* 解码缓存文件失败的时候要再次下载

bugs.txt

+2
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,7 @@
55
>* (已解决)在2.3及以下PackageManager解码APK的图标貌似是有缓存的,比如多个一样的安装包解析得到的是一样的,然后给回收了就崩溃了,这个必须得解决,还得在高版本上实验一下是否有同样的问题
66
>* (已解决)有问题很严重的问题,在列表的时候尚未加载完成,点击调到详情页就一直在等待,明明之前已经加载完成了
77
>* (已解决)刷新列表的时候不显示来源角标了,准备在各个关键点输出log跟踪一下
8+
>* (已解决)SearchFragment的95行nullPoint异常,考虑换种方式添加菜单
9+
>* (已解决)大量2.2、2.3版本上ExtendableListView.onSaveInstanceState()中调用super.onSaveInstanceState()nullPoint抛出异常
810

911
>* 在Genymotion4.4版本的模拟器中,使用GaussianBlurImageProcessor处理图片的时候会一直抛出ArrayIndexOutException

docs/apps.png

714 KB
Loading

docs/device-2015-01-13-235248.png

-2.91 MB
Binary file not shown.

docs/device-2015-01-13-235325.png

-2.15 MB
Binary file not shown.

docs/device-2015-01-13-235423.png

-3.05 MB
Binary file not shown.

docs/device-2015-01-13-235803.png

-3 MB
Binary file not shown.

docs/device-2015-05-24-233513.png

1.45 MB
Loading

docs/device-2015-05-24-233540.png

2.82 MB
Loading

docs/device-2015-05-24-233620.png

3.78 MB
Loading

docs/device-2015-05-24-233646.png

2.43 MB
Loading

docs/device-2015-05-24-233707.png

1.04 MB
Loading

docs/device-2015-05-24-233833.png

2.07 MB
Loading

docs/gif_flag_drawable.png

817 KB
Loading

docs/ic_gif.png

424 Bytes
Loading

docs/image_shape1.png

19.8 KB
Loading

docs/image_shape2.png

19 KB
Loading

docs/image_shape3.png

18.6 KB
Loading

docs/sampe_debug_mode.jpeg

-855 Bytes
Loading

docs/sample.jpg

-339 KB
Loading

releases/SketchSample-2.0.0.apk

1.63 MB
Binary file not shown.

releases/SpearSample-2.5.1.apk

-1.25 MB
Binary file not shown.

releases/sample_apk_download_qr.png

609 Bytes
Loading

releases/spear-1.3.0-sources.zip

-108 KB
Binary file not shown.

releases/spear-1.3.0.jar

-130 KB
Binary file not shown.

sample/build.gradle

+2-6
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@ android {
2222
defaultConfig {
2323
minSdkVersion 8
2424
targetSdkVersion 22
25-
versionCode 201
26-
versionName "2.0.0 beta"
25+
versionCode 200
26+
versionName "2.0.0"
2727
}
2828

2929
signingConfigs{
@@ -47,10 +47,6 @@ android {
4747
normal{
4848
applicationId "me.xiaopan.sketchsample"
4949
}
50-
51-
// googlePlay{
52-
// applicationId "me.xiaoapn.android.imageloader"
53-
// }
5450
}
5551

5652
lintOptions {

0 commit comments

Comments
 (0)