欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

android中Handle類的用法實例分析

 更新時間:2015年09月25日 11:36:25   作者:Ruthless  
這篇文章主要介紹了android中Handle類的用法,以實例形式較為詳細的分析了基于Handle類線程執(zhí)行的相關技巧,具有一定參考借鑒價值,需要的朋友可以參考下

本文實例講述了android中Handle類的用法。分享給大家供大家參考。具體如下:

當我們在處理下載或是其他需要長時間執(zhí)行的任務時,如果直接把處理函數(shù)放Activity的OnCreate或是OnStart中,會導致執(zhí)行過程中整個Activity無響應,如果時間過長,程序還會掛掉。Handler就是把這些功能放到一個單獨的線程里執(zhí)行,與Activity互不影響。

當用戶點擊一個按鈕時如果執(zhí)行的是一個常耗時操作的話,處理不好會導致系統(tǒng)假死,用戶體驗很差,而Android則更進一步,如果任意一個Acitivity沒有響應5秒鐘以上就會被強制關閉,因此我們需要另外起動一個線程來處理長耗時操作,而主線程則不受其影響,在耗時操作完結發(fā)送消息給主線程,主線程再做相應處理。那么線程之間的消息傳遞和異步處理用的就是Handler。

以下模擬一個簡單的相冊查看器,每隔2秒自動更換下一張照片。

main.xml布局文件:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="vertical"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent" 
  android:gravity="center">
  <ImageView android:id="@+id/imageView"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" 
    android:src="@drawable/p1"
    android:gravity="center" />
</LinearLayout>

HandleActivity類:

package com.ljq.handle;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.widget.ImageView;
public class HandleActivity extends Activity {
  private ImageView imageView = null;
  private Handler handler = new Handler() {
    @Override
    public void handleMessage(Message msg) {
      switch (msg.what) {
      case 0:
        imageView.setImageResource(R.drawable.p1);
        break;
      case 1:
        imageView.setImageResource(R.drawable.p2);
        break;
      case 2:
        imageView.setImageResource(R.drawable.p3);
        break;
      case 3:
        imageView.setImageResource(R.drawable.p4);
        break;
      }
      super.handleMessage(msg);
    }
  };
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    imageView = (ImageView) findViewById(R.id.imageView);
    thread.start();
  }
  int what = 0;
  Thread thread = new Thread(new Runnable() {
    public void run() {
      while (true) {
        handler.sendEmptyMessage((what++) % 4);
        try {
          Thread.sleep(2000);
        } catch (InterruptedException e) {
          e.printStackTrace();
        }
      }
    }
  });
}

運行結果:

希望本文所述對大家的Android程序設計有所幫助。

相關文章

  • Android應用中使用ContentProvider掃描本地圖片并顯示

    Android應用中使用ContentProvider掃描本地圖片并顯示

    這篇文章主要介紹了Android應用中使用ContentProvider掃描本地圖片并顯示的方法,比調用本地圖庫的方法更加靈活和可定制,需要的朋友可以參考下
    2016-04-04
  • Android ViewPager實現(xiàn)智能無限循環(huán)滾動回繞效果

    Android ViewPager實現(xiàn)智能無限循環(huán)滾動回繞效果

    這篇文章主要為大家詳細介紹了Android ViewPager實現(xiàn)智能無限循環(huán)滾動回繞效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • Flutter實現(xiàn)不同縮放動畫效果詳解

    Flutter實現(xiàn)不同縮放動畫效果詳解

    這篇文章主要為大家詳細介紹了Flutter利用不同組件(ScaleTransition、SizeTransition、AnimatedSize和AnimatedBuilder)實現(xiàn)不同縮放動畫效果,感興趣的可以動手嘗試一下
    2022-06-06
  • Android實現(xiàn)動態(tài)自動匹配輸入內容功能

    Android實現(xiàn)動態(tài)自動匹配輸入內容功能

    這篇文章主要為大家詳細介紹了Android實現(xiàn)動態(tài)自動匹配輸入內容功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • 談一談Android內存泄漏問題

    談一談Android內存泄漏問題

    談一談Android內存泄漏問題,圍繞內存泄露的定義、內存泄露的原理、內存泄露的解決方法進行探討,感興趣的小伙伴們可以參考一下
    2016-01-01
  • Android開發(fā)實現(xiàn)簡單計算器功能

    Android開發(fā)實現(xiàn)簡單計算器功能

    這篇文章主要為大家詳細介紹了Android開發(fā)實現(xiàn)簡單計算器,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-06-06
  • Flutter實現(xiàn)彈窗攔截器的示例代碼

    Flutter實現(xiàn)彈窗攔截器的示例代碼

    彈窗的排隊執(zhí)行在App中是一個很常見的應用場景,這篇文章為大家介紹了兩個Flutter實現(xiàn)彈窗攔截器的示例代碼,感興趣的小伙伴可以學習一下
    2023-09-09
  • Android實現(xiàn)滑動折疊Header全流程詳解

    Android實現(xiàn)滑動折疊Header全流程詳解

    這篇文章主要介紹了Android實現(xiàn)滑動折疊Header,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習吧
    2022-11-11
  • Android編程開發(fā)錄音和播放錄音簡單示例

    Android編程開發(fā)錄音和播放錄音簡單示例

    這篇文章主要介紹了Android編程開發(fā)錄音和播放錄音的方法,結合實例形式分析了Android多媒體開發(fā)中音頻操作的相關技巧,需要的朋友可以參考下
    2016-08-08
  • 在android中如何用Java加載解析so

    在android中如何用Java加載解析so

    我們在android開發(fā)項目過程中都必然會更so加載打交道,那么so加載在系統(tǒng)中的順序和流程是怎樣的,我們就有必要對這個加載過程進行熟悉了解掌握
    2021-10-10

最新評論