Barry Lee

Results 8 comments of Barry Lee

虽然解析gif放到了native层,但是我在实际测试中发现性能比glide自带的还要差,会不会与gifframe处理过程中把数据通过canvas绘制到bitmap,再又将bitmap的数据倒腾到framebuffer中,真正绘制的时候,会再次将数据生成到bitmap有关。

用的android studio的 profile工具

我用的图片比较大,为了效果更明显。 加载的图片为下面6张。没张大小都十几兆。 "https://cdn.pokekara.com/sp1/pokekara/gif/large/61/7c/6105f1403478f6e8deefb401394d987c_600-600-1.gif", "https://cdn.pokekara.com/sp1/pokekara/gif/large/ba/d4/baf131714001c518e47bbc6b9a8a7bd4_600-600-1.gif", "https://cdn.pokekara.com/sp1/pokekara/gif/large/02/04/029fbb80847025afb926891c11248804_600-600-1.gif", "https://cdn.pokekara.com/sp1/pokekara/gif/large/a1/44/a1f34d8009839932f99c162fa8dc7444_600-600-1.gif", "https://cdn.pokekara.com/sp1/pokekara/gif/large/46/3e/46b811d86929b3316c4098ccfddc103e_600-600-1.gif", "https://cdn.pokekara.com/sp1/pokekara/gif/large/0e/aa/0e1795452a8d69ee8511e5c9830a22aa_600-600-1.gif" 前两张图片是使用本库加载时的cpu和内存。后两张图是使用glide加载时的cpu和内存。 ![image](https://user-images.githubusercontent.com/8670932/141251365-8d1b2cd0-ce90-4f51-8342-e322e9ed874f.png) ![image](https://user-images.githubusercontent.com/8670932/141251397-eba8a48f-8825-439e-afcf-aa47d6609829.png) ![image](https://user-images.githubusercontent.com/8670932/141251420-8545aaba-420a-42b2-b05c-443430c0be85.png) ![image](https://user-images.githubusercontent.com/8670932/141251435-d45b1001-779c-48f1-96db-452d4ca1b856.png)

![Screenshot_20211111-145302](https://user-images.githubusercontent.com/8670932/141251841-d0a0aa32-c22d-4e9a-9e74-59ceb6db0d30.png)

一张图cpu和内存差别不太大。用小图区别更加不明显。

好的 辛苦

好的 谢谢。

想预览用isInEditMode就行了。