安卓代码重构与云计算平台管理
1. 安卓代码重构的性能与功耗优化
1.1 Linpack类测试与功耗降低
在优化安卓应用性能和降低功耗方面,以Linpack类测试为例,基准测试会运行Linpack类实例3次以获取平均测试结果,运行次数(即3次)会作为参数传递给Linpack类。在卸载应用中,Wi-Fi通道只需发送一次Linpack计算的方法请求,服务器会执行Linpack类实例3次后返回平均结果。这样做进一步降低了Wi-Fi的功耗,因为单次发送方法请求的时间通常很短,一般少于10ms。所以,当跨网络通信次数相对较少时,Wi-Fi的总功耗不会太高。
不过,如果网络通信过于频繁,Wi-Fi的功耗会增加,进而导致卸载应用的整体功耗上升。例如,在3D汽车游戏中,仅卸载Line2f类时,应用比卸载整个Collision类集群多消耗30.86焦耳的能量,大量能量浪费在紧密相关但未一起卸载的类之间的跨网络通信上。
1.2 按需卸载的影响
按需卸载场景下,观察三个应用在120秒内RTT值从200ms逐渐增加到600ms时的性能和功耗情况。应用的性能曲线可分为3个区域:
- 区域1(0 - 30秒) :RTT从200ms逐渐增加到300ms,卸载的计算任务分别是Linpack的Level - i集群、国际象棋的Level - j集群和汽车游戏的Level - k集群。此阶段应用性能随RTT增加而下降。
- 区域2(30 - 105秒) :RTT从300ms增加到550ms,应用性能急剧下降。此期间出现网络数据包丢失,端点会多次重试方法调用。当发现卸载的计算
超级会员免费看
订阅专栏 解锁全文
3万+

被折叠的 条评论
为什么被折叠?



