天天看点

android开发之一路Bug

从即日起,我将汇集天下Bug,培养IT精英!让自己变强,让身边人变强,让国家变强!

Bug:

java.net.URISyntaxException: Illegal character in query at index 91

Cause:

此异常表明向方法传递了一个不合法或不正确的参数。

Solve:

传递给服务器的参数.replace(” “, “”);

Eg:

String questionContent = et_question.getText().toString().trim().replace(” “,”“);

Bug:
public class A{
    public class B{
    }
}
           

创建java类中类出现is not an enclosing class

Cause:

需要实例B类时,按照正逻辑是:A.B ab = new A.B();那么编译器就会出现一个错误–“is not an enclosing class”,因为静态(static)的类中类不能使用外部类进行操作,必须用实例来进行实例化类中类.

Solve:

A a = new A();

A.B ab = a.new B();

Bug:

error: has leaked window com.android.internal.policy.impl.PhoneWindow$ that was originally added here

Cause:

经常在应用中需要处理一些耗时的工作,诸如读取大文件、访问网络资源等。为了避免因程序假死而带来的糟糕用户体验,通常我们可以通过线程+Handler或者Android提供的AsyncTask来解决该问题,并一般以ProgressDialog等提示性控件来告知用户当前的程序进度。而标题中描述的异常则会常常出现在这样的场景中,并且往往掩盖了导致异常的真正的罪魁祸首。

从异常描述中,大致的意思是存在窗口句柄泄露,即未能及时销毁某个PhoneWindow。而这往往误导了我们,把过多的精力放在查找所谓的内存泄露上了。其实存在这么一种情况,即因我们在非主线程中的某些操作不当而产生了一个严重的异常,从而强制当前Activity被关闭。而在关闭的同时,却没能及时的调用dismiss来解除对ProgressDialog等的引用,从而系统抛出了标题中的错误,而掩盖了真正导致这个错误的异常信息。

Solve:

本解决方法并不能真正的解决问题,但是在一定程度上可以将真正导致错误的异常信息显露出来。即重写Activity的onDestroy方法或者在跳转到另外一个Activity时将Dialog关闭,在方法中调用dismiss来解除对ProgressDialog等的引用。

④.

Bug:
android开发之一路Bug

Cause:

这个问题,是因为你的JDK与Eclipse位(32/64)不一致。

Solve:

重新下载JDK或者安装Eclipse位(32/64)呗!

⑤.

Bug:

Java @override报错?

Cause & Solve:

android开发之一路Bug

⑥.

Bug:

由于SSH配置文件的不匹配,导致的Permission denied (publickey)

android开发之一路Bug
android开发之一路Bug
如果,上述都没有解决你的问题的话:
android开发之一路Bug
android开发之一路Bug
android开发之一路Bug

继续阅读