2012-03-03 53 views
1

我正在使用下面的代碼。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

回答: 1 - 後100毫秒 2將停止 - 你需要的東西在那樣喚醒和 服務後臺工作,而不存在以啓動其用戶執行的功能。或者您希望 爲progressDialog,它告訴用戶正在發生一些工作,而不是讓用戶 假定UI已凍結。如果沒有後臺服務,您的用戶界面會留下一個應用程序 ,該應用程序在工作發生時不會響應。

+0

你好,當你的第一個答案100 milisec只是睡眠時間。它不會終止線程。現在它也在寫日誌。我在15分鐘前關閉了應用程序。在幾秒鐘內回答你所說的同樣的事情可以使用線程。 – user861973 2012-03-03 05:38:47

1

服務主要是用於對background.If執行長時間運行的應用程序正在使用的所有網絡操作或播放沉思或類似的東西,服務都非常有幫助..