了解@SuppressLint(“NewApi”)注释

时间:2013-05-17 04:49:53

标签: java android eclipse android-lint

我是一名机器人初学者。在尝试管理活动生命周期的代码时,我遇到了一件新事物。

package com.example.activitylaunch;

import android.os.Build;
import android.os.Bundle;
import android.annotation.SuppressLint;
import android.app.ActionBar;
import android.app.Activity;
import android.view.Menu;
import android.widget.TextView;

@SuppressLint("NewApi")
public class MainActivity extends Activity {

TextView mTextView;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    mTextView = (TextView) findViewById(R.id.text_message);

    if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB)
    {
        ActionBar actionBar = getActionBar();
        actionBar.setHomeButtonEnabled(false);
    }
    }

@Override
public void onDestroy(){
    super.onDestroy();
    android.os.Debug.stopMethodTracing();
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}

}

我很好地理解了代码,但它在ActionBar SuppressLint中出错了。当我双击它时,正在添加@SuppressLint("NewApi")@SuppressLint("NewApi")在这里是什么意思?

2 个答案:

答案 0 :(得分:70)

@SuppressLint("NewApi")是Android Lint工具使用的注释。

当代码中的某些内容不是最佳或可能崩溃时,Lint会告诉您。通过NewApi传递,您将取消所有警告,告诉您是否使用了minSdkVersion后引入的任何API

查看Lint检查的完整列表 - 包括“NewApi” - 在此处:http://tools.android.com/tips/lint-checks

答案 1 :(得分:10)

来源:click here

除了测试您的Android应用程序是否满足其功能要求之外,确保您的代码没有结构问题也很重要。结构不良的代码会影响Android应用的可靠性和效率,并使您的代码难以维护。例如,如果XML资源文件包含未使用的命名空间,则会占用空间并导致不必要的处理。其他结构问题(例如使用目标API版本不支持的已弃用元素或API调用)可能会导致代码无法正常运行。

Android SDK提供了一个名为lint的代码扫描工具,可以帮助您轻松识别和纠正代码结构质量问题,而无需执行应用程序或编写任何测试用例。通过描述消息和严重性级别报告该工具检测到的每个问题,以便您可以快速确定需要进行的关键改进的优先级。您还可以配置问题的严重性级别,以忽略与项目无关的问题,或提高严重性级别。该工具具有命令行界面,因此您可以轻松地将其集成到自动化测试过程中。

lint工具检查您的Android项目源文件是否存在潜在错误,并针对正确性,安全性,性能,可用性,可访问性和国际化进行了优化改进。您可以从命令行或Eclipse环境运行lint