我的Android应用程序中的java Threads有问题.我的嵌套线程阻止了我的UI,我该如何解决这个问题呢?
MyClass.java
package com.knobik.gadu;import androID.util.Log;public class MyClass { public voID StartTheThread() { Thread nested = new Thread( new nestedThread() ); nested.run(); } private class nestedThread implements Runnable { public voID run() { while (true) { Log.d( "DUPA!", "deBUG log SPAM!!" ); } } }}
这就是我运行它的方式:
package com.knobik.gadu;import java.io.IOException;import org.apache.http.clIEnt.ClIEntProtocolException;import org.apache.http.clIEnt.httpClIEnt;import org.apache.http.clIEnt.ResponseHandler;import org.apache.http.clIEnt.methods.httpGet;import org.apache.http.impl.clIEnt.BasicResponseHandler;import org.apache.http.impl.clIEnt.DefaulthttpClIEnt;import androID.app.Activity;import androID.os.Bundle;import androID.util.Log;import androID.vIEw.VIEw;public class AndroIDGadu extends Activity { public static final String LogAct = "AndroIDGadu"; public voID OnClickTest(VIEw v) { MyClass test = new MyClass(); test.StartTheThread(); } /** Called when the activity is first created. */ @OverrIDe public voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentVIEw(R.layout.main); }}
你可以帮帮我吗?我文字卡住;)
解决方法:
My nested thread blocks my UI
您需要使用.start()而不是.run().也就是说,替换
nested.run();
同
nested.start();
(run只是一个普通的方法.start()是实际生成一个新线程的方法,该线程反过来运行run)
总结以上是内存溢出为你收集整理的java – 线程阻止我的Android UI全部内容,希望文章能够帮你解决java – 线程阻止我的Android UI所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)