现代化您的应用
当您在更新应用目标 API 等级时,请考虑应用平台近期发布的新功能,让您的应用更为现代化并为用户带去更好的体验。
-
请将您的 app 从 Google Cloud Messaging (GCM) 迁移至 Firebase Cloud Messaging 最新版本;
-
使用高级窗口管理:
- Declare Restricted Screen Support 支持更大宽屏比率 (大于 16:9),让应用能够利用最新的硬件技术。确保您的应用调整大小后能填充可用的屏幕空间。万不得已情况下,可以声明最大屏幕宽高比。更多有关最大屏幕宽高比信息,请阅览《声明受限屏幕支持》;
- multiple displays 添加多窗口支持,提升 app 效率并管理多屏幕适配;
- 如果最小化应用能够帮助您改善用户体验,您可添加画中画支持;
- 针对凹口屏幕设备的优化:
·· 不要假定状态栏高度,而是使用 WindowInsets 以及 View.OnApplyWindowInsetsListener;
·· 不要假定应用是全屏显示的,而是通过调用 View.getLocationInWindow() (注意:不是 View.getLocationOnScreen()) 来确定应用屏幕位置;
·· 在处理 MotionEvent 时,调用 MotionEvent.getX() 和 MotionEvent.getY();而非 MotionEvent.getRawX() 或 MotionEvent.getRawY();
-
使用现代摄像头支持:
- 使用 Camera2 API 最大化摄像头利用率;
- Pixel 2 devices 在 Pixel 2 设备上启用 Pixel Visual Core 加速 HDR+ 处理。
检查并更新您的 SDK 和库
请确保您使用的三方 SDK 依赖项支持 API 26:部分 ADK 供应商会在发布说明中写明是否支持;其它供应商则须要进一步调查。如果您使用的 SDK 不支持 API 26,请尽快与 SDK 供应商合作解决该问题。
此外,请注意您的应用或者游戏中的 targetSdkVersion 可能会限制访问私有 Android 平台库,请阅览《将 NDK 应用链接至平台库》获取进一步信息。
您还须要验证您正在使用的 Android 支持库可能存在的任何限制。和以往一样,您必须确保应用中的 compileSdkVersion 与 Android 支持库主要版本能够顺利兼容。
我们推荐您选择小于或等于 Support Library 主要版本的 targetSdkVersion ,并建议您升级到近期发布的兼容 Support Library,从而能够使用到最新版本的兼容性特性和错误修正功能。
测试您的应用
在更新完应用的 API 等级和功能后,您须要测试一些核心用例。下文列举的几条建议并没有涵盖所有情况,但希望能给您提供指导作用。我们建议进行以下几个方面的测试:
-
测试应用兼容 API 26, 不产生错误和警告;
-
您的应用应该有相应策略来妥善应对用户拒绝访问权限的情况,并提示用户授予权限。为了达到该效果,您须要:
- 前往应用的信息页面,然后拒绝每个权限;
- 开启应用,确保没有崩溃;
- 进行核心用例测试,并确保所有必须权限请求再被显示;
-
妥善应对 Doze 模式,达到预期效果且不导致错误:
- 在应用运行时,使用 adb 让您的测试设备进入 Doze 模式:
·· 测试任何触发 Firebase Cloud Messaging 消息的用例;
·· 测试任何需要使用闹钟或者任务用例;
·· 消除所有后台服务依赖;
- 设置您的应用进入待机模式:
·· 测试任何触发 Firebase Cloud Messaging 消息的用例;
·· 测试任何需要使用闹钟的用例;
-
处理新拍摄的照片以及视频:
- 检查您的应用是否妥善处理 ACTION_NEW_PICTURE 以及 ACTION_NEW_VIDEO 广播限制 (即移动至 JobScheduler 任务);
- 确保任何依赖此类事件的重要用例都能顺利运行;
-
应用间分享文件:
- 请测试所有涉及到应用间分享文件数据的案例 (即使是同一开发者开发的应用);
- 请测试其它应用是否能够成功显示内容,而且不引发崩溃。