转自: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