在我的项目中,我们应该支持 RTL 功能,我将使用自定义地图(使用统一创建)。并且项目应该支持蓝牙功能。我想在我的项目中使用 min 19 版本或 min 16 版本。那么为我的项目使用 16 个最低 API 级别有什么缺点呢?
apk大小有什么问题吗?
RTL 支持有什么问题吗?
蓝牙支持有什么问题吗?
有什么问题应该是你知道的吗?
在我的项目中,我们应该支持 RTL 功能,我将使用自定义地图(使用统一创建)。并且项目应该支持蓝牙功能。我想在我的项目中使用 min 19 版本或 min 16 版本。那么为我的项目使用 16 个最低 API 级别有什么缺点呢?
apk大小有什么问题吗?
RTL 支持有什么问题吗?
蓝牙支持有什么问题吗?
有什么问题应该是你知道的吗?
较低的 API 级别通常使您无法访问 Android SDK 中内置的新功能。很多时候,这不是一个大问题,因为 AndroidX / Android 支持库附带的兼容性类可以弥补差距,但在某些情况下并非如此。
如果您支持较低的 API 级别,则绝对应确保在该 API 级别的设备上彻底测试应用程序,并且理想情况下您应该检查代码以确保您不会意外使用较新的 API。
例子:
// Newer API levels:
SomeServiceManager s = context.getSystemService(SomeServiceManager.class)
// Older API levels:
SomeServiceManager s = (SomeServiceManager) context.getSystemService(Context.SOME_SERVICE_MANAGER)
// Compat:
SomeServiceManager s = ContextCompat(context, SomeServiceManager.class)
使用更高的 api minSdkVersion 通常会减少开发工作,因为您不必为 api 16 之后可用的功能使用支持库。您应该在此处考虑版本分布统计信息https://developer.android.com/about/dashboards/ index.html如果您认为它们的份额较低,这将允许您安全地丢弃一些旧设备。
targetSdkVersion
虽然谷歌官方声称更新以针对最新的 SDK 应该是每个应用程序的高优先级,但这一点非常重要。