[软件架构以及开发中遇到的问题]
1.采用MVP+RaJava2.0+Retrofit作为软件的架构,对控制器Presenter进行封装,在BaseActivity的onCreate()和onDestroy()方法中可以对Presenter进行初始化和解除绑定,避免在View失效的情况下产生内除泄露,对于MVP的相关知识点推荐几篇文章:
* [深入讲解Android MVP框架,附一个很*的实现MVP架构的开源库Ted Mosby](
https://www.jianshu.com/p/02ca76bbad90)
* [改造 Android 官方架构组件 ViewModel](
https://www.jianshu.com/p/11869306f62d)
* [Google官方架构组件引入MVPArms](
https://github.com/JessYanCoding/MVPArms)
* [传统MVP用在项目中是真的方便还是累赘?](
https://www.jianshu.com/p/ac51c9b88af3)
* [看完不会写MVP架构我跪搓板](
https://www.jianshu.com/p/4aa820b14c03)
2.App应用适配。在实际的公司项目开发中,适配对于Android开发者来说是一个避免不了的问题,本人整理了现在技术领域中最快捷有效的三种适配方式,便于读者了解和选用:
* [首先咱们得了解px,dp,dpi的区别吧?](
https://www.jianshu.com/p/b60c6bd26661)
* [鸿洋的Auto适配方案,推荐用于写Demo和毕业设计使用,公司项目还是算了,毕竟问题还是比较多,性能稍微差了点,不过学一学思想和代码还是很不错的!](
https://github.com/hongyangAndroid/AndroidAutoLayout)
* [Android 目前最稳定和高效的UI适配方案(也是作者极力推荐的)](
https://www.jianshu.com/p/a4b8e4c5d9b0)
* [今日头条Android客户端是配新方案,既然是新的,问题还是有的,性能没话说,只是切换成其他语言好像有点问题](
https://www.jianshu.com/p/4254ea9d1b27)
3.关于App启动时候白屏和黑屏,侧滑菜单的沉浸式状态栏的实现,以及App数据库插件GreenDao3.0的基本使用:
* 关于App启动时候的白屏可以在启动页SplashActivity的Theme中设置android:windowBackground图片,详细可以阅读以下文章:
* [android冷启动白屏问题](
https://www.jianshu.com/p/9495ba92c138)
* [Android启动界面优化技巧-Splash Screens的正确方式](
https://www.jianshu.com/p/cea2864bb587)
* 关于侧滑菜单的沉浸式状态栏,如下两张图是对该问题最好的诠释:
* 
* 
* 关于数据库插件GreenDao3.0需要注意的地方就是一些初始化和增删改查一些地方,百度都可以搜索到基本的用法,这里不再赘述。