Application在Dalvik中只存在一个,所以不用再去傻乎乎的写单列去获取对象了.如果一个App中存在多进程(注意进程和线程的区别)的话,那么会存在多个Dalvik.
误点2Application 有两个子类,一个是MultIDexApplication(对于APP出现65536
的问题他会帮助你的解决问题),MockApplication(测试用例驱动(TDD)开发模式中使用Moke进行测试时).
在Application中可以进行一些配置的初始化,如图片加载,网络配置等.在Application.onCreate()
中不要进行耗时 *** 作,需要的耗时 *** 作可以通过懒加载的,异步,延时加载的方式记性 *** 作.对于这个时间界限是多少秒,或者是多少毫秒我暂时没有找到.我认为时间应该在500毫秒差不多.
Application是在低内存的情况下是可以被销毁的,因此不要在这里面对象或者是数据的保存工作.而且在onLowMemory()
和onTrimMemory()
方法中我们可以进行内存回收的 *** 作,如关闭数据库链接,移除图片(内存和缓存的)可以降低被回收的风险.
因为Application的生命周期和Dalvik虚拟机是一样的,进行单列或静态的时候我们可以可以使用Application,Application在Activity中或者是Fragment中尽量不要使用(会造成内存泄漏哟).Activity和Fragment持有Application的话不会被内存回收,如果很多个对象使用了Application的话,你感受一下垃圾是有多少?
总结以上是内存溢出为你收集整理的Android的Application误区全部内容,希望文章能够帮你解决Android的Application误区所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)