java - 安卓线程和服务

标签 java android

我正在使用下面的代码。

   import android.app.Activity;
import android.os.Bundle;
import android.provider.ContactsContract.Data;
import android.util.Log;

public class ActivityDemoActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        new Thread(new Runnable() {

            @Override
            public void run() {
                int i=0;
                while(true){
                    try {
                        Thread.sleep(100);
                    } catch (InterruptedException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                    Log.i("DATA", "Data.CONTENT_TYPE......"+(i++));
                }

            }
        }).start();
    }
    @Override
    public void onBackPressed(){
        finish();
    }
}

当我按下设备的后退按钮时,线程仍在后台工作。

我的问题是...

  1. 线程什么时候停止?
  2. 那为什么我们需要 android 服务?

谢谢。

最佳答案

答案: 1 - 它将在 100 毫秒后停止 2 - 你需要一些在后台工作的东西,比如唤醒和唤醒的服务 在没有用户启动的情况下执行功能。或者你想拥有 一个 progressDialog 告诉用户一些工作正在进行而不是让用户 假设用户界面被卡住。没有后台服务,您的用户界面将只剩下一个应用程序 在工作进行时没有响应。

关于java - 安卓线程和服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9543711/

相关文章:

android - 如何在 Genymotion 模拟器中安装适用于 Android 6.0 的 Gapps

javascript - 光标获取单选组的列索引

java - 我的 AdMob 广告不起作用,但一切似乎都写得正确

java - Flutter 应用程序在启动时和通过 java.lang.ClassNotFoundException 崩溃

java - 比较数字还是使用质数?

java - OpenGL 矩阵乘法导致奇数浮点行为

java - 转换 native 查询hibernate的ResultSet

java - 跨 Activity 共享 Android SQLite 数据库

Android Lollipop 从通知中接收媒体按钮操作?

Java 推特 API