android 开发中遇到的问题及解决方式

来源:互联网 发布:手机淘宝怎么删差评 编辑:程序博客网 时间:2024/04/30 16:45

1当import一个新的android项目时,项目名称上出现一个红色的感叹号,程序不能运行。

原因:工程中classpath中指向的包路径错误。

解决方法:在项目名称上点右键选择Properties,然后选择Java Bulid Path中的libraries选项,其中出现红色x号的路径为错误路径,删除之后,通过Add External Jars添加正确路径,点击确定之后,在Package Explorer中刷新一下。


2、当点击Eclipse中的Properties中的Android选项时,出现“the currently displayed page contains invalid values”。

原因:项目丢失了default.properties文件所致。

解决方法:从其他项目中重新拷贝一个default.properties文件,并修改文件中的target值。或者,将项目根目录下的project.properties改名为default.properties


3、引入一个新的项目后,丢失android.jar文件。

解决方法:在项目名称上点右键,选择Properties,再选择Android,再在其中选择一个project build target,点确定之后,如还有问题,尝试在项目名称上点右键,然后选择Android Tools,再点 Fix Project properties


4、出现leak window错误。

原因:Android的每一个Activity都有个WindowManager窗体管理器,同样,构建在某个Activity之上的对话框、PopupWindow也有相应的WindowManager窗体管理器。因为对话框、PopupWindown不能脱离Activity而单独存在着,所以当某个Dialog或者某个PopupWindow正在显示的时候我们去finish()了承载该Dialog(PopupWindow)Activity时,就会抛Window Leaked异常了,因为这个Dialog(PopupWindow)WindowManager已经没有谁可以附属了,所以它的窗体管理器已经泄漏了。
解决方法:关闭(finish)某个Activity前,要确保附属在上面的DialogPopupWindow已经关闭(dismiss)了。

@Overridepublic void onPause(){super.onPause();if(pw != null) {pw.dismiss();}}

5、Eclipse中显示行号

在代码编写区的靠近左侧边框处,点右键选择Show Line Numbers,即可显示行号。


6、在使用ImageViewsetImageResource(int res id)方法时遇到一个java.lang.OutOfMemoryError:bitmap size exceeds VM budget错误。

原因:图片占用的内存超出了系统分配的最大内存限制,导致内存溢出。

解决方法:使用BitmapFactory的带有Options参数的方法解析图片资源,具体如代码:

<span style="font-size:18px;">BitmapFactoty.options opts = new BitmapFactory.Options();opts.inSampleSize = 4;Bitmap bitmap = BitmapFactory.decodeResource(Resources res, int id,opts);</span>

当然当bitmap不用的时候,应该强制回收一下,具体如下: 

<span style="font-size:18px;">if(bitmap != null && !bitmap.isRecycled()){bitmap.recycle();}</span>

另外应注意代码的优化,比如不要重复初始化变量,尽量使用局部变量,尽量使用staticfinalprivate等关键字等等。

java.lang.IllegalStateException: The specified child already has a parent You must call removeView() on the child's parent first

这个三言两语解释不清楚,看我博文: http://blog.csdn.net/yaolingrui/article/details/7339913




0 0
原创粉丝点击