APP 啓動優化java
UI 繪製優化android
內存優化git
圖片壓縮github
長圖優化算法
電量優化性能優化
Dex 加解密網絡
APP 穩定性之熱修復原理探索maven
APP 持續運行之進程保活實現post
如今市面上 95 % 以上,APP 都有預覽圖片的功能,那麼是怎麼作的勒,今天咱們就來仿照 微博 預覽長圖,來對長圖優化。
project/build.gradle
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
複製代碼
app/build.gradle
dependencies {
implementation 'com.github.yangkun19921001:long_picture_view:1.0.2'
}
複製代碼
xml 中直接使用
<com.yk.big_picture_library.BigView
android:id="@+id/bv_img"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
複製代碼
代碼中
BigView bigView=findViewById(R.id.bv_img);
//加載路徑
bigView.setImage(BIG_IMAGE_PAHT);
//加載 InputStream
bigView.setImage(InputStream is)
//加載網絡圖片 callBack : 加載中的回調
bigView.setNetUrl(String url,LoadNetImageCallBack callBack);
複製代碼
效果是否是很絲滑,原圖是 12 M 壓縮後不到 2 M ,加載前能夠壓縮下,我用的是我本身的另外一個圖片壓縮開源項目利用哈夫曼算法對圖片壓縮。
內存無泄漏,無抖動,無溢出 。這裏在提一下若是對內存優化不瞭解的能夠看下性能優化(三)...
Java 堆內存: 5 - 6 M 之間
Native 佔用內存: 25 M 左右
粗略步驟:
詳細步驟