zoukankan      html  css  js  c++  java
  • Android API在不同版本系统上的兼容性

    随着安卓版本的不断更新,新的API不断涌出,有时候高版本的API会在低版本crash的。

    如果minSdkVersion设置过低,在build的时候,就会报错(Call requires API level 17 (current min is 9));

    这时候为了编译可以通过,可以添加 @SuppressLint("NewApi") 或者 @TargeApi(9)注解。

    这样只是编译通过,运行时依然会crash的。

    正确的做法

    为了运行时不报错, 需要:

    1. 判断运行时版本,在低版本系统不调用此方法
    2. 同时为了保证功能的完整性,需要提供低版本功能实现

    小结:在使用高于minSdkVersion API level的方法需要:

    1. 如果用@TargeApi($API_LEVEL) 可以编译通过, 那就不使用@SuppressLint("NewApi");
    2. 运行时判断API level; 仅在足够高,有此方法的API level系统中,才调用此方法;
    3. 保证功能完整性,保证低API版本通过其他方法提供功能实现。

    容易忽略的API小细节,好在,ide开发工具,会自动提醒你的。


  • 相关阅读:
    浅谈localStorage和sessionStorage的相关用法
    v-for中:key的作用总结
    textarea的placeholder无效问题解决
    6月10日
    6月9日
    6月8日
    6月7日
    6月6日
    10月5日
    6月4日
  • 原文地址:https://www.cnblogs.com/spring87/p/4853573.html
Copyright © 2011-2022 走看看