java– 线程阻止我的Android UI

java– 线程阻止我的Android UI,第1张

概述我的Android应用程序中的javaThreads有问题.我的嵌套线程阻止了我的UI,我该如何解决这个问题呢?MyClass.javapackagecom.knobik.gadu;importandroid.util.Log;publicclassMyClass{publicvoidStartTheThread(){ThreadNested=newThread(newNest

我的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所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1099179.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存