Google 新建议

现代化您的应用

当您在更新应用目标 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 任务);

- 确保任何依赖此类事件的重要用例都能顺利运行;

  • 应用间分享文件:

- 请测试所有涉及到应用间分享文件数据的案例 (即使是同一开发者开发的应用);

- 请测试其它应用是否能够成功显示内容,而且不引发崩溃。

原文地址:https://www.cnblogs.com/cold-ice/p/8622811.html