android 的几个黄色警告解决办法

转自:http://my.eoe.cn/864234/archive/5162.html

 

1:Handler

1
2
3
4
5
6
7
8
    // This Handler class should be static or leaks might occur: IncomingHandler
    @SuppressLint("HandlerLeak")
    private Handler mHandler = new Handler() {
        @Override
        public void handleMessage(Message msg) {

        };
    };

解决方法:

1
2
3
4
5
6
    private Handler mHandler = new Handler(new Handler.Callback() {
        @Override
        public boolean handleMessage(Message msg) {
            return false;
        }
    });

警告原因:

2:SimpleDateFormat

1
2
3
4
5
6
    // To get local formatting use getDateInstance(), getDateTimeInstance(), or
    // getTimeInstance(), or use new SimpleDateFormat(String template, Locale
    // locale) with for example Locale.US for ASCII dates.
    @SuppressLint("SimpleDateFormat")
    SimpleDateFormat simpleDateFormat = new SimpleDateFormat(
            "yyyy-MM-ddHH:mm:ss");

解决方法:

1
2
    SimpleDateFormat newSimpleDateFormat = new SimpleDateFormat(
            "yyyy年MM月dd日HH时mm分", Locale.getDefault());

警告原因:

**3:new HashMap() **

1
2
     @SuppressLint("UseSparseArrays")
    public static Map<Integer, String> CMD_MAP = new HashMap<Integer, String>();

解决方法:

1
 //TODO

警告原因:Use new SparseArray(...) instead for better performance

4:"String".toUpperCase(); "String".toLowerCase();

1
2
     @SuppressLint("DefaultLocale")
    boolean  b = "String".toUpperCase().equals("STRING");

解决方法:

1
 boolean  b = "String".equalsIgnoreCase("STRING");

警告原因:Implicitly using the default locale is a common source of bugs: Use toUpperCase(Locale) instead

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。