java-在我的课堂上实现Thread Android吗?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java-在我的课堂上实现Thread Android吗?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1803字,纯文字阅读大概需要3分钟。
内容图文
我想知道如何在此类中实现线程以使其免受ANR(应用程序无响应)问题的影响
public class myClass {
private static String LOG_TAG = Root.class.getName();
public boolean isDeviceRooted() throws IOException {
if (checkRootMethod1()){return true;}
if (checkRootMethod2()){return true;}
if (checkRootMethod3()){return true;}
return false;
}
public boolean checkRootMethod1(){
String buildTags = android.os.Build.TAGS;
if (buildTags != null && buildTags.contains("test-keys")) {
return true;
}
return false;
}
public boolean checkRootMethod2(){
try {
File file = new File("/system/app/Superuser.apk");
if (file.exists()) {
return true;
}
else {
return false;
}
} catch (Exception e) {
}
return false;
}
public boolean checkRootMethod3() {
if (new ExecShell().executeCommand(SHELL_CMD.check_su_binary) != null){
return true;
}else{
return false;
}
}
}
例如,如果当我按下一个按钮时此代码被执行,如果我多次按下此按钮,则我的应用程序具有ANR.
解决方法:
您不想使用线程,而是要使用AsyncTask.这是如何做:
根据以下内容,确定您的应用程序需要什么:AsyncTask< TypeOfVarArgParams,ProgressValue,ResultValue>
一些启发:
public class MyClass {
//Something
public MyClass() {
new BackgroundTask().execute("Hello World");
}
}
private class BackgroundTask extends AsyncTask<String, Void, String> {
@Override
protected void onPreExecute() {
// Prepare your background task. This will be executed before doInBackground
}
@Override
protected String doInBackground(String... params) {
// Your main code goes here
String iAmAString = "I have done something very heavy now...";
return iAmAString;
}
@Override
protected void onPostExecute(String result) {
// Whatever should happen after the background task has completed goes here
}
@Override
protected void onProgressUpdate(Void... values) {
// In here, you can send updates to you UI thread, for example if you're downloading a very large file.
}
}
内容总结
以上是互联网集市为您收集整理的java-在我的课堂上实现Thread Android吗?全部内容,希望文章能够帮你解决java-在我的课堂上实现Thread Android吗?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。