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

android常见异常处理

2013-04-02 10:25 274 查看
1.IllegalArgumentException: View not attached to window manager 窗体泄漏:解决方法,需要将UI控件定义在Activity中,当Activity被干掉时,要保证控件先被干掉。2010.06.24

2.从UI线程传递到其它线程的控件应该是初使化后的对象,因为UI线程会创建销毁控件,如果控件是其它线程创建会抛出View not attached to window manager异常。

3.svn工程删除后再导入可以用AplyPath来解决与服务器连接的问题

4.xml文件不显示属性可以先将工程close再open解决。

5.工程有XX但是没有错误,可以将工程clear,或者将R文件删除,可以看下错误日志。

6.SQLiteDatabase 数据库更新与插入操作需要同步,且SQLiteOpenHelper应该是单列的,否则大量插入纪录时可能会因为抛出IllegalStateException: database not open而出现记录丢失的现象。

7.SQLiteDatabase 如果多次打开一个数据库,是否返回地址相同。

8.java.lang.IllegalArgumentException: Comparison method violates its general contract! 产生原因是对日期排序时将Long转型成Integer时出现逻辑问题(a>b>c
&& c>a),导致java.util.TimSort排序错误http://www.myexception.cn/。

9.BroadcastReceiver 不能作为内部类注册到AndroidMenifest中。

10.Android HttpURLConnection 不能在getHttpHeader()后调用setRequestProperty(String,String)设置属性,会抛出java.lang.IllegalStateException: Cannot set method after connection is made

11.Android 模拟器不能全屏,在AndroidMenifest.xml中加入

12.Android 图片使用问题,如果是480X800,创建AVD时lcd density要设为240,这时使用的是res/xxx-hdpi目录下的图片

13.创建模拟器时可以指定一个heapsize,来解决内在不足的错误。NoSuchMethodError

14.自定义view如果刷新时出现奇怪的边框线条,尝试刷新它的父布局。

15.Android 模拟器vm size 不足会导致应用crash。

16.Timer.delay(long) 的实现用的是绝对时间,1970以前的时间是负数,依赖于它会有问题

17.android进程会被终结在资源不足的时候,如果不是service和activity持有进程。

18.service可以在onStartCommand里接受Intent做一些事情。

19.手机不能访问google service,更新一下root/etc/host中的ip地址(在电脑上Ping)。

20.InputStreamReader 和OutputStreamWriter 可以设置Stream的default encode,从而解决乱码问题
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: