Android项目的错误异常收集日志记录

来源:互联网 发布:淘宝卖家回评语大全 编辑:程序博客网 时间:2024/06/03 02:26

1、Android客户端日志上报服务器

         主要是自己定义一个CrashHandler ,然后implements UncaughtExceptionHandler类。来实现捕捉异常。

         其次自己实现一个Application,在其onCreate中注册CrashHandler,以便于在整个程序中都可以捕捉到异常信息。

        不过也花了点时间在反射上面,每次写代码,修改代码,我都会想尽最大努力把代码做成通用的,因此父模板要设计好这很重要。通用工具也要写好。

2、List删除元素出错

         在应用中,通常将数据保存到List<>数组,然后设置适配器,如果我们选择删除某一条目,那么除了删除数据库记录数据外还要删除list中的数据,然后适配器对象调用notifyDataSetChanged();方法进行界面重绘。问题是,在删除list中的数组时不能直接用remove(),这样删除不了对象,即使调用notifyDataSetChanged();,界面也不会有任何刷新。正确的做法应该是使用Iterator遍历remove(),如下是项目中的例子:

  

<span style="font-size:18px;"> Iterator it = mAviResidentList.iterator();                while (it.hasNext()) {                    Object ob = it.next();                    Resident re = (Resident) ob;                    //删除指定remarkId的人员                    if(re.rmarkId.equals(rmarkId)){                        it.remove();                    }                }</span>

3、在使用Ant编译APK时报错:

    这是在编译javac编译class文件时报错,是jdk版本问题,将javac的target和source改为1.6可行.:


4、硬件加速的问题。

    今天测试人员反馈一个很严重的bug,说是从地图街景返回应用后整个应用都变黑了,包括ActionBar!而且还是随机事件!怪异得很,街景是第三方公司提供的,数据是另外公司采集提供,找了半天也没有找出原因,然后打开GPU调试,打开硬件加速整个好了!然后就在应用中加上硬件加速权限了,关于硬件加速可以参考:http://www.360doc.com/content/12/0810/10/7324690_229359583.shtml;

   

5、TextView调用getLineCount()方法总是等于0

   正确的用法是这样的:查看原文

  

textview.setText(arr2[position]);    textview.post(new Runnable() {        @Override        public void run() {            int lineCnt = textview.getLineCount();            // Perform any actions you want based on the line count here.        }    });    


0 0
原创粉丝点击