萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> 安卓開發 >> 省電的Android數據傳輸方法

省電的Android數據傳輸方法

   Android系統一個最大的缺點也就是電量問題。這裡我們在下載方面進行優化,能盡可能達到省電的目的。

  1.盡可能的將數據一起傳送,無限制讀取緩存數據也會加重電量的消耗。一般來說,每2至5分鐘取一次數據,每次1至5M是最佳的選擇,也可以避免下載重復的數據。

  2.使用Google Cloud Messaging for Android (GCM)推送App的更新通知。這樣不需要自己單獨建立網絡連接進行更新。

  更新策略

  設置一個合適的頻率,最好允許用戶修改輪詢頻率。

  private void enableHttpResponseCache() {

  try {

  long httpCacheSize = 10 * 1024 * 1024; // 10 MiB

  File httpCacheDir = new File(getCacheDir(), "http");

  Class.forName("android.net.http.HttpResponseCache")

  .getMethod("install", File.class, long.class)

  .invoke(null, httpCacheDir, httpCacheSize);

  } catch (Exception httpResponseCacheNotAvailable) {

  Log.d(TAG, "HTTP response cache is unavailable.");

  }

  }

  修改網絡連接模式

  大多數情況下,Wi-Fi對電量的消耗要比3G小。

  NetworkInfo activeNetwork = cm.getActiveNetworkInfo();

  int PrefetchCacheSize = DEFAULT_PREFETCH_CACHE;

  switch (activeNetwork.getType()) {

  case ConnectivityManager.TYPE_WIFI:

  ... ...

  case ConnectivityManager.TYPE_MOBILE:

  ... ...

  default: break;

  }

copyright © 萬盛學電腦網 all rights reserved