打造安静的Android APP:冯森林在MDCC 2015的主题演讲

需积分: 0 9 下载量 155 浏览量 更新于2024-07-21 1 收藏 667KB PDF 举报
“冯森林在MDCC 2015中国移动开发者大会上分享的主题为‘做一个安静的APP’,他是一位专注于移动工具APP开发的资深技术专家,曾任职于阿里巴巴无线事业部,并以FontRouter和全球用户超过500万的绿色守护(Greenify)为代表作。冯森林致力于推动Android生态的开放和有序发展。” 在冯森林的演讲中,他首先提出了一个问题:为什么要做一个安静的APP?他将iOS比作一个有严格规则的监狱,而Android则被比喻为充满危险的丛林。在iOS的世界里,AppStoreReviewGuidelines确保了应用的行为规范,而在Android的环境下,用户需要面对各种可能消耗资源或侵犯隐私的应用。为此,冯森林开发了绿色守护,帮助用户管理这些“不安静”的APP。 随着Android Marshmallow的发布,Android引入了Runtime Permission、Doze Mode和App Standby等新特性,赋予用户更多控制权并优化电池续航。这给开发者带来了挑战:如何在用户有权拒绝权限的情况下继续提供服务?如何避免应用在Doze Mode和App Standby下受到影响?以及如何在用户监督下保持良好的行为? 冯森林指出,很多情况下,开发者无意间让APP变得“不安静”,比如静态声明的BroadcastReceiver可能导致系统响应变慢,尤其是处理像“android.net.conn.CONNECTIVITY_CHANGE”这样的网络状态变化事件时。此外,进程创建和初始化、大型App的Application.onCreate()也可能成为性能瓶颈。更糟糕的是,这些行为可能导致“连环唤醒”,在中低端设备上严重影响电池寿命。 为了解决这些问题,冯森林建议开发者: 1. 避免在AndroidManifest.xml中静态声明BroadcastReceiver,尽可能地动态注册,只在需要时接收广播。 2. 当不再需要BroadcastReceiver时,通过PackageManager的setComponentEnabledSetting方法禁用它。 3. 对于大型App,优化Application.onCreate()的执行效率,减少不必要的初始化操作。 4. 注意进程生命周期管理,避免不必要的后台活动,以减少对系统资源的占用。 冯森林的演讲强调了开发者应该关注应用的性能和用户体验,尤其是在Android生态系统中,尊重用户的选择权和设备资源,努力打造既功能强大又高效、尊重用户隐私的“安静”APP。通过遵循这些原则和最佳实践,开发者可以帮助Android平台走向更加开放和有序的未来。