延长电池续航时间--网络数据的影响

Android设备通常的多个数据连接:

(1)Bluetooth

(2)Ethernet

(3)WI-FI

(4)WiMax

(5)移动网络(EDGE,UMTS,LTE)

获取网络信息:

public class NetInfo extends Activity {

	private TextView netInfoShow,netInfoShows;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		setContentView(R.layout.net_info);
		netInfoShow = (TextView) findViewById(R.id.net_show);
		netInfoShows = (TextView) findViewById(R.id.nets_show);
		showNetworkInfoToast();
	}

	private void showNetworkInfoToast() {
		ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
		//只显示活动的连接
		NetworkInfo info = cm.getActiveNetworkInfo();
		if (info != null) {
			netInfoShow.setText(info.toString());
		}
       //显示所有连接
		NetworkInfo[] infos = cm.getAllNetworkInfo();
		if (infos != null) {
			StringBuilder sb = new StringBuilder("All: ");
			for (int i = 0; i < infos.length; i++) {
				sb.append(infos[i]+"\n");
			}
			netInfoShows.setText(sb.toString());
		}
	}
}

为了最大限度地延长电池的使用时间:

(1)后台数据设置:

用户可以在设置中指定是否允许后台数据传输。。

(2)数据传输频度:

如果能控制数据的传输类型,就可以先压缩数据,在传输到设备上。通常做法为:

1.使用GZIP压缩文本数据,使用GZIPInputStream类访问数据

2.如果可能的话使用JPEG而不是PNG格式的图像文件

3.使用匹配设备分辨率的资源(比如,不必为96x54大小的显示空间下载1920x1080的图片)。

时间: 2024-11-09 13:34:26

延长电池续航时间--网络数据的影响的相关文章

Android App优化之延长电池续航时间

禁用广播接收器 确保广播接收器在真正需要时才执行指令,在onResume中其中广播接收器,在onPause中禁用, 在manifest文件中声明广播接收器时,事先默认配置成禁用的 <receiver android:name=".BatterReceiver" android:enabled="false"> 网络 1. 后台数据,后台传输数据时,判断ConnectivityManager的getBackgroundDataSetting()的返回值,如

延长电池续航时间--定位

Android提供了多种位置服务: (1)GPS(使用卫星的全球定位系统): (2)网络(用Cell-ID来进行基站定位,WI-FI服务地址) (3)被动(API等级8加入) 在没有特别要求下,可以设置更新的频率,减少请求次数.注册监听器,在不用时,禁止位置监听 //接受位置更新 private void requestLocationUpdates() { LocationManager lm = (LocationManager) getSystemService(Context.LOCAT

延长电池续航时间--传感器,WakeLock

一. 传感器 传感器使用方式和定位服务类似:应用向特定的传感器注册监听器,获得更新通知. private void registerWithAccelerometer(){ SensorManager sm=(SensorManager) getSystemService(Context.SENSOR_SERVICE); List<Sensor> sensors=sm.getSensorList(Sensor.TYPE_ACCELEROMETER); if(sensors!=null&

Android最佳实践之性能 - 电池续航时间优化

Doze和App Standby的优化(API23) 参考地址:http://developer.android.com/training/monitoring-device-state/doze-standby.html 从Android 6.0 (API level 23)开始,Android提供了两个节电功能用来增加电池的续航时间.Doze 可以在设备长时间不使用时,通过延迟后台CPU和网络的活动来减少电池的消耗:App Standby将延迟没有交互的app网络活动. Doze和App S

[Android Traffic] 让android应用在传输网络数据的时候更省电

到今年6月,我国的手机网民已经达到了3.88亿,超过了电脑终端.相信有智能机的同学都用过手机上网冲浪.但是手机的电量很快被用光了恐怕是每个人都不能忍受的一件事情.而打开数据连接进行网络数据的传输是很耗费电量的,如果用户发现你的应用榨干了他电池里的电,恐怕他会第一时间将你的应用给卸载掉.所以进行网络应用的开发理解怎样才能更省电就很有必要了. 如果数据连接一直保持着激活的状态,那么它的耗电量是很惊人的,所以手机会在网络空闲的情况下自动休眠数据连接来达到省电的目的.以3G网络来举例,它有三个不同的状态

无线传感器网络数据融合技术

http://www.dzsc.com/data/html/2008-11-28/73975.html 由于大多数无线传感器网络应用都是由大量传感器节点构成的,共同完成信息收集.目标监视和感知环境的任务.因此,在信息采集的过程中,采用各个节点单独传输数据到汇聚节点的方法显然是不合适的.因为网络存在大量冗余信息,这样会浪费大量的通信带宽和宝贵的能量资源.此外,还会降低信息的收集效率,影响信息采集的及时性. 为避免上述问题,人们采用了一种称为数据融合(或称为数据汇聚)的技术.所谓数据融合是指将多份数

网络数据包分析 网卡Offload

http://blog.nsfocus.net/network-packets-analysis-nic-offload/ 对于网络安全来说,网络传输数据包的捕获和分析是个基础工作,绿盟科技研究员在日常工作中,经常会捕获到一些大小远大于MTU值的数据包,经过分析这些大包的特性,发现和网卡的offload特性有关,本文对网卡Offload技术做简要描述. 文章目录 网络分片技术 网卡offload机制 发送模式 接收模式 网卡offload模式的设置 Linux windows 网卡Offload

Linux内核中网络数据包的接收-第二部分 select/poll/epoll

和前面文章的第一部分一样,这些文字是为了帮别人或者自己理清思路的,而不是所谓的源码分析,想分析源码的,还是直接debug源码最好,看任何文档以及书都是下策.因此这类帮人理清思路的文章尽可能的记成流水的方式,尽可能的简单明了. Linux 2.6+内核的wakeup callback机制 Linux 内核通过睡眠队列来组织所有等待某个事件的task,而wakeup机制则可以异步唤醒整个睡眠队列上的task,每一个睡眠队列上的节点都拥有一个 callback,wakeup逻辑在唤醒睡眠队列时,会遍历

iOS网络数据解析

iOS开发过程中,网络数据的传输过程一般是:客户端发送请求给服务器,服务器接收到客户端发送的网络请求后返回相应的数据.此时客户端需要把服务器返回的数据转化为前段和移动端开发中使用的数据格式(如OC/java).后台服务器一般使用php.java..net进行开发,而前段和移动端使用的一般是OC/JAVA/HTML/CSS/JS,做好前后端的数据交互极为重要,如今数据交互常用的就是JSON和XML.下面就iOS开发过程中的JSON解析和XML解析进行简单的说明. 一.JSON解析 JSON是一种轻