Android数据传输省电方法

一、下载优化

众所周知,Android系统一个最大的缺点也就是电量问题。这里我们在下载方面进行优化,能尽可能达到省电的目的。

1.尽可能的将数据一起传送,无限制读取缓存数据也会加重电量的消耗。一般来说,每2至5分钟取一次数据,每次1至5M是最佳的选择,也可以避免下载重复的数据。

 

2.使用Google Cloud Messaging for Android (GCM)推送App的更新通知。这样不需要自己单独建立网络连接进行更新。

 

二、更新策略

设置一个合适的频率,最好允许用户修改轮询频率。

[java][/java] view plaincopyprint?

  1. private void enableHttpResponseCache() {
  2. try {
  3. long httpCacheSize = 10 * 1024 * 1024; // 10 MiB
  4. File httpCacheDir = new File(getCacheDir(), “http”);
  5. Class.forName(“android.net.http.HttpResponseCache”)
  6. .getMethod(“install”, File.class, long.class)
  7. .invoke(null, httpCacheDir, httpCacheSize);
  8. } catch (Exception httpResponseCacheNotAvailable) {
  9. Log.d(TAG, “HTTP response cache is unavailable.”);
  10. }
  11. }

三、修改网络连接模式

大多数情况下,Wi-Fi对电量的消耗要比3G小。
[java][/java] view plaincopyprint?

  1. NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
  2. int PrefetchCacheSize = DEFAULT_PREFETCH_CACHE;
  3. switch (activeNetwork.getType()) {
  4. case ConnectivityManager.TYPE_WIFI:
  5. … …
  6. case ConnectivityManager.TYPE_MOBILE:
  7. … …
  8. default: break;
  9. }

标签