Android 中调用线程thread.stop 方法后报错,Deprecated Thread methods are not supported.

这篇博客探讨了在Android中使用Thread.stop方法时遇到的错误,由于该方法已废弃,导致应用报错。作者指出,现代做法是通过在run方法内设置标记来控制线程状态。并提供了一个倒计时代码示例作为解决方案的参考。
摘要由CSDN通过智能技术生成
03-16 15:39:03.082 16179-16179/tech.androidstudio.handlerdemotimer E/global: Deprecated Thread methods are not supported.
03-16 15:39:03.082 16179-16179/tech.androidstudio.handlerdemotimer E/global: java.lang.UnsupportedOperationException
03-16 15:39:03.082 16179-16179/tech.androidstudio.handlerdemotimer E/global:     at java.lang.VMThread.stop(VMThread.java:85)
03-16 15:39:03.082 16179-16179/tech.androidstudio.handlerdemotimer E/global:     at java.lang.Thread.stop(Thread.java:1280)
03-16 15:39:03.082 16179-16179/tech.androidstudio.handlerdemotimer E/global:     at java.lang.Thread.stop(Thread.java:1247)
03-16 15:39:03.082 16179-16179/tech.androidstudio.handlerdemotimer E/global:     at tech.androidstudio.handlerdemotimer.MainActivity.btnDaoJiShi(MainActivity.java:69)
03-16 15:39:03.082 16179-16179/tech.androidstudio.handlerdemotimer E/global:     at java.lang.reflect.Method.invokeNative(Native Method)
03-16 15:39:03.082 16179-16179/tech.androidstudio.handlerdemotimer E/global:     at java.lang.reflect.Method.invoke(Method.java:507)
03-16 15:39:03.082 16179-16179/tech.androidstudio.handlerdemotimer E/global:     at android.view.View$1.onClick(View.java:2139)
03-16 15:39:03.082 16179-16179/tech.androidstudio.handlerdemotimer E/global:     at android.view.View.performClick(View.java:2485)
03-16 15:39:03.082 16179-16179/tech.androidstudio.handlerdemotimer E/global:     at android.view.View$PerformClick.run(View.java:9080)
03-16 15:39:03.082 16179-16179/tech.androidstudio.handlerdemotimer E/global:     at android.os.Handler.handleCallback(Handler.java:587)
03-16 15:39:03.082 16179-16179/tech.androidstudio.handlerdemotimer E/global:     at android.os.Handler.dispatchMessage(Handler.java:92)
03-16 15:39:03.082 16179-16179/tech.androidstudio.handlerdemotimer E/global:     at android.os.Looper.loop(Looper.java:123)
03-16 15:39:03.082 16179-16179/tech.androidstudio.handlerdemotimer E/global:     at android.app.ActivityThread.main(ActivityThread.java:3683)
03-16 15:39:03.082 16179-16179/tech.androidstudio.handlerdemotimer E/global:     at java.lang.reflect.Method.invokeNative(Native Method)
03-16 15:39:03.082 16179-16179/tech.androidstudio.handlerdemotimer E/global:     at java.lang.reflect.Method.invoke(Method.java:507)
03-16 15:39:03.082 16179-16179/tech.androidstudio.handlerdemotimer E/global:     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
03-16 15:39:03.082 16179-16179/tech.androidstudio.handlerdemotimer E/global:     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)

03-16 15:39:03.082 16179-16179/tech.androidstudio.handlerdemotimer E/global:     at dalvik.system.NativeStart.main(Native Method)

原因:

现在Thread.stop()方法已经过时了。不支持使用,


解决方法:

现在都是在run方法中使用标记。然后通过设置标记来更改线程的状态。

参考:http://zhidao.baidu.com/link?url=7Fd-DO_FE0G3H83j_jYCF-ZS2GKwhrW-yT5NscHnEavzTm6xaaHs6d2xXWhZd4A673yj1YzMuZJ7pcnKvQ-EIK


例如,这里的倒计时的代码:

package tech.androidstudio.handlerdemotimer;

import android.os.Handler;
import android.os.Message;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity implements 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值