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开发工具,会自动提醒你的。


  • 相关阅读:
    Shape详解
    C#装箱与拆箱
    C#值类型、引用类型的区别
    C#类型简述
    C# 关键字列表
    python图片转字符画
    软件测试面试题
    python关键字以及含义,用法
    JMeter的那些问题
    APP测试功能点
  • 原文地址:https://www.cnblogs.com/spring87/p/4853573.html
Copyright © 2011-2022 走看看