转自: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>();
|
解决方法:
警告原因: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