美文网首页
经验总结

经验总结

作者: 小贱嘎嘎 | 来源:发表于2017-03-07 16:22 被阅读0次

    1,不要在Application中存储全局都要用到的重要信息,因为当系统内存紧张时可能会销毁Application,之后会创建一个新的Application,这个时候在Application中的状态就没办法恢复了,所以有可能到处报NullPointerException

    2,新建文件必须先新建目录否则创建会不成功

    3,recyclerview更新数据时,每次数据源改变必须调用一次notifyXXXed方法,不能改变多次数据源只调用一次notify方法,因为这样会出现IndexOutOfBoundException

    4,在for循环中操作list中的数据时别对list结构进行更改,否则出现[Java ConcurrentModificationException]

    5,获取Content-Length属性时别用HttpUrlConnection的方法,应该使用HttpClient中的方法

    /**
     * 使用httpclient获取下载文件长度,使用httpurlconnnection可能会出现一些问题
     *
     * @param urlStr 下载文件的地址
     * @return 返回长度
     */
    public static long getContentLengthFromUrl(String urlStr) {
        long fileSize = 0;
        HttpClient client = new DefaultHttpClient();
        HttpGet httpGet = new HttpGet();
        try {
            httpGet.setURI(new URI(urlStr));
        } catch (URISyntaxException e) {
            e.printStackTrace();
        }
        HttpResponse response = null;
        try {
            response = client.execute(httpGet);
        } catch (IOException e) {
            e.printStackTrace();
        }
        HttpEntity entity = response.getEntity();
        fileSize = entity.getContentLength();
        client.getConnectionManager().shutdown();
        return fileSize;
    }
    

    6,在调用View的刷新方法时尽量使用invalidate方法,别用postInvalidate方法,postInvalidate方法会出现界面不刷新的情况。

    7,RecyclerView与ScrollView不要嵌套使用,在安卓5.0以后会出现数据不展示完全的BUG,这个时候该使用NestedScrollView

    相关文章

      网友评论

          本文标题:经验总结

          本文链接:https://www.haomeiwen.com/subject/mnimgttx.html