zoukankan      html  css  js  c++  java
  • 14、数据传输更省电

     下载优化(尽可能将数据放到一起传送

    例如: 10KB一下传输过去,要比一次传1KB,传了10次,更省电。

        因为:每访问一次网络就需要建立一个连接(2秒钟)。然后恢复到空闲状态需要17秒,所以比较耗电。

     更新策略(缓存数据,更新通知)

      无限制读取缓存数据也会加重电量的消耗。一般来说,每2至5分钟 取一次数据,每次1至5M是最佳的选择。

    也可以避免下载重复的数据。

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

     HttpURLConnection Cache 

    
    

    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;

  • 相关阅读:
    关于白盒测试的心得
    基于Java的闰年测试
    等价类划分练习的代码实现
    软件测试中的等价类划分练习
    关于软件测试的初学小结
    现代软件工程作业第十二题(原十四题)
    好像木有白盒测试实验的报告,补一个~
    给大家推荐一本书啊啊~
    关于【做一名软件测试工程师,需要具备什么】的我的看法
    关于考试的笔记整理
  • 原文地址:https://www.cnblogs.com/androidsj/p/3929853.html
Copyright © 2011-2022 走看看