android开发常见问题及解决

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

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

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

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

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

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

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

8.java.lang.IllegalArgumentException:Comparisonmethodviolatesitsgeneralcontract!产生原因是对日期排序时将Long转型成Integer时出现逻辑问题(a>b>c&&c>a),导致java.util.TimSort排序错误。

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

10.AndroidHttpURLConnection不能在getHttpHeader()后调用setRequestProperty(String,String)设置属性,会抛出java.lang.IllegalStateException:Cannotsetmethodafterconnectionismade

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

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

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

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

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

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

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

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

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

20.InputStreamReader和OutputStreamWriter可以设置Stream的defaultencode,从而解决乱码问题。

相关推荐