編輯:關於Android編程
1.首先 android 一個程序中 的activity 都是一個線程,service和activity也是一個線程
2.在activity 中啟動一個子線程,當前activity finish destroy掉 子線也會運行的。
3.在service裡的線程 與activity很類似 service即使停止了 線程也在運行(要先停止服務 再把最近使用的進程殺掉 線程會停止 ,如果直接殺掉進程 android會再次自動啟動這個service的 此時即使再停止service服務 線程也會一直運行了除非關機)
activity 中啟動一個子線程
public class SecondActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_lout); System.out.println("當前線程 執行了====SecondActivity====="+Thread.currentThread().getId()); new Thread(new Runnable() { @Override public void run() { while(true){ System.out.println("當前線程 執行了==22222=="+Thread.currentThread().getId()); try { Thread.sleep(2000); } catch (InterruptedException e) { e.printStackTrace(); } } } }).start(); } @Override protected void onDestroy() { System.out.println("當前線程 執行了======結束====="+Thread.currentThread().getId()); super.onDestroy(); } }activity finish 子線程依舊可以運行,即使程序退出了子線程也在運行 (除非在任務管理器裡 把最近使用的進程殺掉)
service 中啟動一個子線程
public class TestService extends Service{ @Override public int onStartCommand(Intent intent, int flags, int startId) { // TODO Auto-generated method stub System.out.println("當前線程 執行了====TestService0000====="+Thread.currentThread().getId()); new Thread(new Runnable() { @Override public void run() { while(true){ System.out.println("當前線程 執行了==22222=="+Thread.currentThread().getId()); try { Thread.sleep(2000); } catch (InterruptedException e) { e.printStackTrace(); } } } }).start(); return super.onStartCommand(intent, flags, startId); } @Override public void onDestroy() { System.out.println("當前線程 執行了=====TestService=結束====="+Thread.currentThread().getId()); super.onDestroy(); } @Override public IBinder onBind(Intent intent) { // TODO Auto-generated method stub return null; } }
以上3條是在 android 4.4.2測試的情況,其他版本沒有試過。如有不對的地方請批評指正!
請注意子線程的生命周期 不要activity結束了 子線程才處理完 返回結果給UI就會有問題,也可以為耗時或者需要長時間運行的情況提供一點思路
起因: 最近在做一個新聞APP,看到現在的新聞客戶端頂端都有個熱點新聞輪播。思路:viewpager可以用來顯示圖片,並且可以提供滑動,15年(不知記錯沒)新出的TabL
Android開發的時候經常遇到端口號被占用的問題,經常使程序無法運行,很煩人。我總結了一個很好的方法,非常實用。方法如下: (1):方法1:第一步:1:netstat
本文承接,Android 開發第五彈:簡易時鐘(鬧鐘) 和 Android 開發第六彈:簡易時鐘(計時器),這一部分是關於秒表的。布局同樣是新建一個類(StopWatch
以下源碼來自Launcher2.3的例子 1.默認每個應用的主Activity都會自帶 ,表示該應用安裝到Launcher時點擊打開該Activity 2.