Android工程搭建
横竖屏切换的注意事项
- 不设置Activity的android:configChanges时,切屏会重新调用每个生命周期,切换到横屏会执行一次,切换到竖屏会执行两次
- 设置Activity的android:configChanges="orientation"时,切屏会依旧会调用每个生命周期,但是切横竖屏只会执行一次
- 设置Activity的android:configChanges="orientation|keyboardHidden"时,切屏不会重新调用各个声明周期,只会执行onConfigurationChanged方法
服务的两种启动方式,及分别的使用情况是什么
- 如果你需要你的服务在开始后基本独立运行的话,可以使用startService,比如音乐播放器。它会等到你调用stopSelf或者stopService才会结束。但是你可以通过发送Intent或者接受Intent来与后台服务进行通信,但是大部分时间,你只是启动服务让他独立运行。
- 如果你需要与后台服务通过一个持续的连接来频繁的通信,建议使用bindService来启动服务,比如你需要不停地更新地理位置传给UI。Binder比Intent开发复杂一些,但是当你需要时,你无法选择。
- startService:生命周期与调用者不同。启动后若调用者未调用stopService而直接退出
- bindService:生命周期与调用则绑定,调用者一旦退出,Service就会调用unBindService->onDestroy