1:Handler
// This Handler class should be static or leaks might occur:IncomingHandler
@SuppressLint("HandlerLeak")
private Handler mHandler= new Handler() {
@Override
public void handleMessage(Message msg) {
};
};
解决方法:
private Handler mHandler= new Handler(new Handler.Callback() {
@Override
public boolean handleMessage(Message msg){
returnfalse;
}
});
警告原因:
2:SimpleDateFormat
// To get localformatting use getDateInstance(), getDateTimeInstance(), or
// getTimeInstance(), oruse new SimpleDateFormat(String template, Locale
// locale) with forexample Locale.US for ASCII dates.
@SuppressLint("SimpleDateFormat")
SimpleDateFormatsimpleDateFormat = new SimpleDateFormat(
"yyyy-MM-ddHH:mm:ss");
解决方法:
SimpleDateFormatnewSimpleDateFormat = new SimpleDateFormat(
"yyyy年MM月dd日HH时mm分", Locale.getDefault());
3:newHashMap()
@SuppressLint("UseSparseArrays")
public static MapCMD_MAP = new HashMap();
警告原因:Use new SparseArray(...) instead for betterperformance
4:"String".toUpperCase();"String".toLowerCase();
@SuppressLint("DefaultLocale")
boolean
b ="String".toUpperCase().equals("STRING");
解决方法:
boolean
b ="String".equalsIgnoreCase("STRING");
警告原因:Implicitly using the default locale is a common source ofbugs: Use toUpperCase(Locale) instead