[转]Android中黄色警告提示强迫症
Contents
写代码的时候,不希望整个工程中到处都是黄色的感叹号,尤其对于强迫症而言。那样的话,打开项目,会让人感觉整个项目不够清爽,干净。
所以写此贴,将平时碰到的警告全部总结集中起来。
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) {
return false;
}
});
警告原因:静态弱应用可能出现内存泄露问题
2:SimpleDateFormat
// 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");
解决方法:
SimpleDateFormat newSimpleDateFormat = new SimpleDateFormat(
"yyyy年MM月dd日HH时mm分", Locale.getDefault());
警告原因:需要指定默认的locale
3:new HashMap()
@SuppressLint("UseSparseArrays")
public static Map<Integer, String> CMD_MAP = new HashMap<Integer, String>();
解决方法:
@SuppressLint("UseSparseArrays")
public static SparseArray<Integer, String> CMD_MAP = new SparseArray<Integer, String>();
警告原因:SparseArray是android提供的效率更高的集合工具