理解 @SuppressLint("NewApi") 注解

42

我是一名Android初学者。在尝试管理活动生命周期的代码时,我遇到了一个新的问题。

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")是什么意思?


1
相关问题:https://dev59.com/IWYq5IYBdhLWcg3woB4W - laalto
3个回答

82

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

Lint会告诉你代码中是否存在不够优化或可能导致崩溃的情况。在这里使用NewApi,可以抑制所有警告,即使你正在使用任何在minSdkVersion之后引入的API。

查看完整的Lint检查列表(包括"NewApi")请访问此处:http://tools.android.com/tips/lint-checks


链接已损坏,请添加更新后的链接。 - Shady Mohamed Sherif

9

来源: 点击这里

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

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

lint工具检查您的Android项目源文件以查找可能存在的错误和优化改进,包括正确性、安全性、性能、可用性、可访问性和国际化。您可以从命令行或Eclipse环境中运行lint


5
这个答案谈到了Lint的目的,但没有提及问题的关键--为什么要添加NewApi的抑制。 - CJBS
1
没有涉及到问题。 - Milad Moosavi

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接