Android 传感器使用与开发-补充2(使用传感器的最佳实践)


注销传感器监听器

在使用完成传感器或传感器的Activity被挂起时,要确保注销传感器的监听器。如果被注册的传感器监听器和它的Activity被挂起,那么传感器还会继续获取数据,并消耗电池资源直到注销传感器。下列代码显示如何使用onPause()方法来注销监听器:


不要在模拟器上测试

因为模拟器不能够模拟传感器,所以目前还不能在模拟器上测试传感器代码。你必须在物理设备上测试你的传感器代码。但是传感器模拟器能够模拟传感器的输出。

不要阻塞onSensorChanged()方法

传感器数据能够高频率的变化,这意味着系统会非常频繁的调用onSensorChanged(SensorEvent)方法。作为最佳实践,在onSensorChanged(SensorEvent)方法中应该尽可能的少做事,以便不阻塞这个方法。如果应用程序需要进行数据过滤或减少传感器数据,应该在onSensorChanged(SensorEvent)方法外来执行。

避免使用废弃的方法或传感器类型

有几个方法和常量已经被废弃,尤其是TYPE_ORIENTATION传感器类型已经被废弃。应该使用getOrientation()方法来获取方向数据。同样,TYPE_TEMPERATURE传感器类型也已经被废弃了。在运行Android4.0的设备上应用使用TYPE_AMBIENT_TEMPERATURE传感器类型来替代。

在使用之前要确认传感器

在尝试从传感器上获取数据之前,要始终确认你所使用的传感器在设备上是否存在。不能因为是经常使用的传感器就简单的假设传感器是存在的。不要求设备制造商在他们的设备上提供任何特定的传感器。

仔细选择传感器的延迟

用registerListener()方法注册传感器时,一定要选择一个适应应用程序或应用场景的发送频率。传感器能够以很高的频率来提供数据。允许系统在不浪费系统资源和不使用电池供电的情况下发送额外的数据。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值