算法使用的是intel
的**IIR**
效率还是蛮快的(release版so库)
- 测试设备选用Nexus 6P(CPU:骁龙810 , RAM:3G)
- 测试图片选用800x991分辨率
强度 | 用间(ms) |
---|---|
5 | 101 |
10 | 103 |
15 | 105 |
20 | 96 |
25 | 101 |
- 测试设备选用Mi 10s(CPU:骁龙870 , RAM:8+3G)
- 测试图片选用800x991分辨率
强度 | 用间(ms) |
---|---|
5 | 76 |
10 | 60 |
15 | 60 |
20 | 42 |
25 | 43 |
debug包中模糊效率稍慢,请使用release包测试 apk
so库文件很小
├── arm64-v8a
│ └── [ 14K] libblur-lib.so
├── armeabi-v7a
│ └── [ 17K] libblur-lib.so
├── x86
│ └── [ 13K] libblur-lib.so
└── x86_64
└── [ 14K] libblur-lib.so
-
依赖
//在项目根目录中添加maven地址 allprojects { repositories { maven { url 'https://jitpack.io' } } } //在项目module中添加依赖 implementation 'com.github.mainlxl:blur:version'
-
减少依赖so库数量,默认aar中添加有'armeabi', 'armeabi-v7a', 'arm64-v8a', 'mips', 'mips64', 'x86', 'x86_64'.
在app的build.gradle
的android
下的defaultConfig
中加入ndk
标签标明支持的平台版本,以减少依赖的so数量
android {
省略...
defaultConfig {
省略...
ndk {
//可选 可只是用'armeabi-v7a'
abiFilters 'armeabi','armeabi-v7a','arm64-v8a'
}
省略...
}
- code中使用
//blur方法默认修改bitmap中数据,调用完成功后(btm == bitmap 二者为同一对象)
Bitmap btm = BitmapBlur.blur(bitmap, intensity)