您现在的位置: 万盛学电脑网 >> 程序编程 >> 网络编程 >> 安卓开发 >> 正文

省电的Android数据传输方法

作者:佚名    责任编辑:admin    更新时间:2022-06-22

   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;

  }