您的位置:首页 > 移动开发 > Android开发

解决Android中Handler警告、SimpleDateFormat警告、"String".toUpperCase()警告

2015-06-26 16:51 363 查看
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());

3:new HashMap() 

    @SuppressLint("UseSparseArrays")

    public static Map CMD_MAP = new HashMap();

警告原因:Use new SparseArray(...) instead for better performance

4:"String".toUpperCase(); "String".toLowerCase();

     String.toUpperCase();

     改为:

     String.toUpperCase(Locale.US);
4000

 //Locale.US  指定为英文

     @SuppressLint("DefaultLocale")

    boolean  b = "String".toUpperCase().equals("STRING");

解决方法:

 boolean  b = "String".equalsIgnoreCase("STRING");

警告原因:Implicitly using the default locale is a common source of bugs: Use toUpperCase(Locale) instead
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android 警告