加入收藏 | 设为首页 | 会员中心 | 我要投稿 河北网 (https://www.hebeiwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 业界 > 正文

Android 机能优化系列:APK极致优化

发布时间:2019-08-01 23:55:36 所属栏目:业界 来源:BeatBeat
导读:本篇文章首要针对 Android机能优化 中 Android APK的巨细优化。 然此刻网速已经很是快,用户流量大概多,可是对付我们的 Android apk 文件举办优化照旧很有须要的,动不动几十上百兆的巨细,用户体验照旧很欠好的,下面我们就来清算一下 Android apk 的优化要领
副问题[/!--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 文件举办转换一下。如下:

Android 机能优化系列:APK极致优化

Android 机能优化系列:APK极致优化

行使如下:

  1. <ImageView 
  2.  android:layout_marginTop="100dp" 
  3.  android:layout_gravity="center_horizontal" 
  4.  android:layout_centerInParent="true" 
  5.  android:src="@drawable/ic_icon_name" 
  6.  android:layout_width="wrap_content" 
  7.  android:layout_height="wrap_content" 
  8.  /> 
  9.   
  10. 可能 
  11.   
  12.  <ImageView 
  13.  android:layout_marginTop="100dp" 
  14.  android:layout_gravity="center_horizontal" 
  15.  android:layout_centerInParent="true" 
  16.  app:srcCompat="@drawable/ic_icon_name" 
  17.  android:layout_width="wrap_content" 
  18.  android:layout_height="wrap_content" 
  19.  /> 

icon状态区分行使 Tint 着色器

Tint着色器可以或许实现图片变色,操作Tint表现差异颜色的图片,在本来必要多张沟通图片差异颜色的环境,可以或许镌汰apk的体积。

UI结果如下:

留意了,这是统一张图片的差异结果。

行使如下:

  1. 加上一行代码 android:tint="@color/colorAccent" 
  2.   
  3.  <ImageView 
  4.  android:layout_marginTop="100dp" 
  5.  android:layout_gravity="center_horizontal" 
  6.  android:layout_centerInParent="true" 
  7.  android:src="@drawable/ic_icon_name" 
  8.  android:layout_width="wrap_content" 
  9.  android:layout_height="wrap_content" 
  10.  android:tint="@color/colorAccent" 
  11.  /> 

必要多套差异尺寸的icon时,行使 svg

Android studio 自带成果,可以自行设置必要的icon尺寸,打包时会自动天生对应尺寸的png 图片。

行使如下:

在app的build.graldle中的defaultConfig 标签下:

  1. defaultConfig { 
  2.  applicationId "com.example.apk" 
  3.  minSdkVersion 19 
  4.  targetSdkVersion 28 
  5.  versionCode 1 
  6.  versionName "1.0" 
  7.  testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 
  8.  //minSdkVersion 19 (5.0) 
  9.  vectorDrawables.generatedDensities('xhdpi','xxhdpi','xxxhdpi') 
  10.  //minSdkVersion > 19 
  11.  // vectorDrawables.useSupportLibrary = true 
  12.  } 

此时,drawable文件如下:

Android 机能优化系列:APK极致优化

打包后如下:

Android 机能优化系列:APK极致优化

Android 机能优化系列:APK极致优化

往后APP内就只必要一套图就可办理多套图造成apk体积增大的题目了。

App内大图压缩,行使webp名目图片

WebP名目,谷歌开拓的一种旨在加速图片加载速率的图片名目。图片压缩体积约莫只有JPEG的2/3,并能节减大量的处事器宽带资源和数据空间。

(编辑:河北网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读