省电的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;

  }

时间: 2024-07-31 08:03:50

省电的Android数据传输方法的相关文章

我的android程序方法超出了65535就如何解决了,求解???

问题描述 我的android程序方法超出了65535就如何解决了,求解??? 1C 我的android程序方法超出了65535就如何解决了,求解??? 解决方案 Android 解决65535的限制 使用android-support-multidex解决Dex超出方法数的限制问题让你的应用不再爆棚 解决方案二: 分解成多个apk,或者jar 解决方案三: http://blog.csdn.net/x_i_a_o_h_a_i/article/details/46544341 解决方案四: 很明显

android measure()方法

问题描述 android measure()方法 一个没有设置背景的线性布局手动调用measure(0,0),为什么可以得到他的高度和宽度? 解决方案 android中View.measure方法详解android中View.measure方法详解android中View.measure方法详解 解决方案二: 0代表UNSPECIFIED 源码: /** * <p> * This is called to find out how big a view should be. The paren

jni- cocos2d中函数通过JNI调用android中类方法的疑问

问题描述 cocos2d中函数通过JNI调用android中类方法的疑问 如题,我试图在cocos2d中调用android的某方法,android中被调用方法如下: public class AppActivity extends Cocos2dxActivity { static { System.loadLibrary("cocos2dcpp"); } public static void gotoActivity() { Intent in = new Intent(AppAct

android setXfermode()方法怪异表现

问题描述 android setXfermode()方法怪异表现 这是API DEMO中的示例,在4.4真机上调试,第一张是关闭了硬件加速的,第二张开启了硬件加速,很多情况都表现不一样,特别是CLEAR模式.而且在官方文档上也没有说该方法不支持硬件加速.请问这是怎么回事? 解决方案 不支持硬件加速的操作,上面几种情况含在里面了.http://www.linuxidc.com/Linux/2012-07/66529.htm 解决方案二: Xfermode在不同手机上效果可能会不同,前段时间测试过

android中方法setContentView和方法findViewById的区别和联系是什么

问题描述 android中方法setContentView和方法findViewById的区别和联系是什么 android中方法setContentView和方法findViewById的区别和联系是什么 解决方案 前者是设置文本属性,后者是用来获取ID号. 解决方案二: setContentView()传入的 是一个layout文件,用来设置布局文件findViewByID用来绑定控件,传入的是一个id 解决方案三: setContentView是用来设置内容布局的.findViewById用

android quadto方法控制点位置为什么跟实际的位置不一样?

问题描述 android quadto方法控制点位置为什么跟实际的位置不一样? android quadto方法控制点位置为什么跟实际的位置不一样?

几种电商网站选择方法

摘要: 对于一个网站的关键词选择,往往是站长最难下手的,很多站长不知道该如何去选择适合网站的关键词,尤其是很多中小型电商网站的关键词选择,可能对于站长来说选择中小企业网站 对于一个网站的关键词选择,往往是站长最难下手的,很多站长不知道该如何去选择适合网站的关键词,尤其是很多中小型电商网站的关键词选择,可能对于站长来说选择中小企业网站很简单,但对于中小型电商网站的站长来说确是一件纠结的事.笔者从事电商网站优化也有一段时间了,在优化的过程中也被关键词选择而苦恼,于是笔者也是到处交流,最终还是得出了一

android studio 方法注释模板

问题描述 android studio 方法注释模板 我按网上查的方法加了注释模板,但是生成的方法函数注释就没有了参数注释了,我希望达到的效果是 /** * date: 2015/10/15 10:05 * author: XXXXXXX * description: 设置右上角图标点击监听 * @param titleRightListener title_right点击事件,不设置,则传null */ public void setTitleRightIcon(int resId, OnCl

数据-Android Main方法里面有个变量,在工具类里面怎么调用呢

问题描述 Android Main方法里面有个变量,在工具类里面怎么调用呢 Android Main方法里面有个变量,在工具类里面怎么调用呢. new MainActivity().uid 这样调用的话会不会对数据有影响? uid 是public.除了new MainActivity 还可以怎么调 解决方案 做成public static的,这样通过 MainActivity.xxx就可以访问 解决方案二: Android在Adapter里面调用Activity的方法/变量Android在Ada