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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM