第 4 章 Android 工具应用进阶
Android 的出现加速了移动互联网的发展,它以一种更好的方式进行人机互动。在Android 工具应用领域,每年优质的应用程序层出不穷。本章将选取几个工具应用(游戏加速器、近场传输、微信清理和 Google 安装器)来进行进阶介绍。
4.1 游戏加速器
随着手游的火爆,很多游戏用户都希望能更快地体验游戏的互动感觉,因此游戏加速器也就应运而生了。
4.1.1 游戏加速器的使用场景
市面上比较火爆的《王者荣耀》和《绝地求生:大逃杀》两款游戏吸引了一大波用户一起玩,在游戏移动端化后,由于整个网络环境的不确定性以及手机性能的不一致,导致游戏卡顿、掉帧、延迟和丢包严重的现象层出不穷,极其影响游戏体验。因此一大波移动游戏加速器就应运而生了,其中有老牌厂商讯游加速器和 UU 加速器,也有新晋玩家海豚加速器和 8LAG加速器。它们的目的都是让用户在玩游戏时拥有一个良好的不间断的体验。游戏加速器分两个层面加速,一个层面是手机自身的加速,另一个层面是网络连接的加速。
4.1.2 基于性能的加速实现
性能相关的加速实现主要分为以下 3 类,它们的目的都是确保在用户打开游戏之前当前手机处于最佳的性能状态。
1.系统缓存清理
清理系统当前存在的缓存数据(主要是清除自己和第三方应用的无用缓存),主要是保证内存空间充足,提升 I/O 的读/写速度。
清除自身应用的缓存,主要是删除如下两个路径下的缓存文件。 context.getExternalCacheDir().getAbsolutePath(); /storage/emulated/0/Android/data/包名/cache——这是应用程序外部缓存路径。
context.getCacheDir().getAbsolutePath(); /data/data/包名/cache——这是应用程序内部缓存路径。
清除第三方应用的无用缓存,首先最重要的是声明对应的权限:
1. <uses-permission android:name="android.permission.CLEAR_APP_CACHE" />
2. <uses-permission android:name="android.permission.GET_PACKAGE_SIZE" />
通过 PackageManager.getPackageSizeInfo 获取某个包名的应用自定义的缓存大小:
1. private void getCacheSize(PackageInfo packageInfo) {
2. try {
3. //通