android线程和服务

时间:2012-03-03 05:18:15

标签: 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中的服务?
  3. 谢谢。

2 个答案:

答案 0 :(得分:1)

回答: 1 - 它会在100毫秒后停止 2 - 你需要在后台工作的东西就像醒来的服务一样 在没有用户启动它的情况下执行功能。或者你想拥有 progressDialog告诉用户正在进行一些工作,而不是让用户 假设UI已冻结。如果没有后台服务,您的UI将保留一个应用程序 在工作发生时没有回应。

答案 1 :(得分:1)

服务基本上用于在后台执行长时间运行的应用程序。如果您正在使用任何网络操作或玩冥想或类似的东西,服务非常有用..