Android笔记

MVP

  https://zhuanlan.zhihu.com/p/29399606

   mvp作用分层、复用

   分层:将项目代码分层,抽取为模型(M,提供数据)、视图(V,显示数据)、业务逻辑(P,处理数据)。M和V不直接通信,它们之间的通信是通过P 来进行的

   复用:主要是M和P层的复用,不用担心UI的频繁修改了

  1>V层中实例P层对像 

   2>将V层实例对象传入到P层

   3>V层可以通过P层对象调用P层中的方法, P层中方法 进行完业务逻辑可以通过V层对象  回调给V层

   4>P层为了能回调给V层,V层要通过接口的方式 定义回调方法 

   5>P层中实例M层对象可以获取网络、本地数据  网络数据是异步获取成功 M层通过P层实例对象回调给P

如何提高后台进程存活率    

  https://zhuanlan.zhihu.com/p/27652674

 应用进程的优先级 :前台进程>可见进程>服务进程>后台进程>空进程

 1>网络连接

 通过长连接心跳和进程保持通信  比如socket长连接

2>利用系统现有机制 

 一般可以利用注册系统消息(AlarmReceiver,RootReceiver等),通过系统消息响应挂起进程。

3>利用SyncAdapter

利用Android系统提供的账号同步机制SyncAdapter,实现进程优先级提高。SyncAdapter是一个系统服务,通过系统的定时器更新应用程序数据ContentProvider,因为Sync服务工作在独立进程,并且由操作系统调度,进程属于核心进程级别,系统不会杀掉,而使用了SyncAdapter的进程优先级本身也会提高,从而降低应用进程被杀的概率

4>降低应用内存开销

内存泄漏和内存溢出

内存泄漏是因为持有对象长期引用,导致对象无法被 GC 回收。

为了避免这种情况,可以选择在对象生命周期结束的时候,解除绑定,将引用置为空,或者使用弱引用。

1>单例模式导致内存泄露
传入的context为act,但单例的生命周期是app

2>非静态内部类、匿名内部类导致内存泄露 它们会隐式的持有外部类的引

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值