副问题[/!--empirenews.page--]
本篇文章首要针对 Android机能优化 中 Android APK的巨细优化。
然此刻网速已经很是快,用户流量大概多,可是对付我们的 Android apk 文件举办优化照旧很有须要的,动不动几十上百兆的巨细,用户体验照旧很欠好的,下面我们就来清算一下 Android apk 的优化要领。
icon 图标行使 svg
在我们的App中会有许多icon,并且美工小姐姐一样平常都是成套的给,以是在我们的res文件中也许必要放入多套icon,这样一来就会使我们的apk文件体积变得很是大了,以是,优化的第一步就从icon 处理赏罚开始。
ion 只管行使svg 文件,而不要行使png文件。
起首 svg 文件是以xml文件的方法存在的,占用空间小,并且可以或许按照装备屏幕自动伸缩不会失真。
Andoid 自己是不支持直接导入svg文件的,以是我们必要将svg 文件举办转换一下。如下:
行使如下:
- <ImageView
- android:layout_marginTop="100dp"
- android:layout_gravity="center_horizontal"
- android:layout_centerInParent="true"
- android:src="@drawable/ic_icon_name"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- />
-
- 可能
-
- <ImageView
- android:layout_marginTop="100dp"
- android:layout_gravity="center_horizontal"
- android:layout_centerInParent="true"
- app:srcCompat="@drawable/ic_icon_name"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- />
icon状态区分行使 Tint 着色器
Tint着色器可以或许实现图片变色,操作Tint表现差异颜色的图片,在本来必要多张沟通图片差异颜色的环境,可以或许镌汰apk的体积。
UI结果如下:
留意了,这是统一张图片的差异结果。
行使如下:
- 加上一行代码 android:tint="@color/colorAccent"
-
- <ImageView
- android:layout_marginTop="100dp"
- android:layout_gravity="center_horizontal"
- android:layout_centerInParent="true"
- android:src="@drawable/ic_icon_name"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:tint="@color/colorAccent"
- />
必要多套差异尺寸的icon时,行使 svg
Android studio 自带成果,可以自行设置必要的icon尺寸,打包时会自动天生对应尺寸的png 图片。
行使如下:
在app的build.graldle中的defaultConfig 标签下:
- defaultConfig {
- applicationId "com.example.apk"
- minSdkVersion 19
- targetSdkVersion 28
- versionCode 1
- versionName "1.0"
- testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
- //minSdkVersion 19 (5.0)
- vectorDrawables.generatedDensities('xhdpi','xxhdpi','xxxhdpi')
- //minSdkVersion > 19
- // vectorDrawables.useSupportLibrary = true
- }
此时,drawable文件如下:
打包后如下:
往后APP内就只必要一套图就可办理多套图造成apk体积增大的题目了。
App内大图压缩,行使webp名目图片
WebP名目,谷歌开拓的一种旨在加速图片加载速率的图片名目。图片压缩体积约莫只有JPEG的2/3,并能节减大量的处事器宽带资源和数据空间。
(编辑:河北网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|