- 博客(11)
- 资源 (5)
- 收藏
- 关注
原创 Android进程间通信
一、常见通信方式梳理进程间常见的通信方式有以下几种:1、Socket:通用接口,传输效率低,主要用在跨网络通信和本机进程间通信,传输过程需要拷贝2次数据;2、共享内存:虽然无需拷贝,但控制复杂;3、Binder:基于C/S模式,只需1次拷贝,安全性高。不同的通信方式使用场景也不同: Socket:适合网络间的通信,或者效率要求不高的本机进程间通信; 共享内存:适合效率要...
2019-12-21 22:21:19
511
原创 Android进程管理机制研究
一、Linux中的进程管理在Linux中,进程是指处理器上执行的一个实例,可使用任意资源以便完成它的任务,具体的进程管理,是通过“进程描述符”来完成的,对应Linux内核中的task_struct数据结构。进程描述符,包括进程标识、进程的属性、构建进程的资源。一个进程可以通过fork()或者vfork()调用创建出子进程,这些子进程可以访问父进程的地址空间,包括文本段、数据段、堆栈段。通常...
2019-12-18 20:22:40
304
原创 Android组件体系之视图绘制
一、View组件View组件有几个重要的方法需要关注,也是自定义View经常需要重写的方法。1、measure作用是测量View组件的尺寸。对应的方法是onMeasure,测量View的宽和高。View和 ViewGroup都有measure方法,但ViewGroup除了测量自身尺寸,还要遍历地调用子元素的measure方法。2、layout用于确定布局位置。对应的方法是layout...
2019-12-14 18:30:16
161
原创 Android组件体系之BroadcastReceiver小结
1、常见分类 BroadCastReceiver,按注册方式可以分为静态广播接收器和动态广播接收器。 静态广播接收器:不受程序是否启动的约束,当应用程序关闭之后,还是可以接收到广播(一般广播接收器的生命周期是和当前活动的生命周期保持同步)。 动态广播接收器:可以自由的控制注册和取消,有很大的灵活性。但是只能在程序启动之后才能收到广播。 对于广播(Broadcast...
2019-12-10 20:12:43
170
原创 Android组件体系之ContentProvider使用注意事项
1、数据访问机制 客户端/调用者通过getContentResolver调用,由ActivityThread、AMS获取到ContentProvider的代理,再通过这个代理对象调用服务端的实现(也即派生类中的自定义方法)。在自定义的ContentProvider中,对数据库的操作是通过SQLiteDatabase类完成的。2、多线程并发 如果Content...
2019-12-10 20:07:12
396
原创 Android组件体系之Service解析
一、调用方式 1、启动服务 只启动一个服务,不进行通信,包括startService、startForegroundService两种调用方式。第二种方式适用于后台应用启动前台服务,在启动后的10s内(具体时间由ActiveServices.SERVICE_START_FOREGROUND_TIMEOUT定义),需要Service调用startForeground启动一个Notifi...
2019-12-08 17:51:44
253
原创 Android组件体系之Activity启动模式解析
本文主要分析Activity的启动模式及使用场景。 一、Activity启动模式浅析 1、standard 标准模式,系统默认的启动模式。在启动Activity时,系统总是创建一个新的Activity实例。其缺点是:复用性差、占用内存,当Activity已经在栈顶时,还是会创建实例。 2、singleTop 这种模式可以实现栈顶复用的效果...
2019-12-07 20:51:45
139
原创 MVP架构在Android平台上的实现分析(三)
在上篇文章里,我们对Google官方的TODO-MVP-Loaders做了分析,今天继续探讨另外一种官方实现,基于Clean架构的MVP实现。
2017-05-28 21:38:04
264
原创 MVP架构在Android平台上的实现分析(二)
在上篇文章里,我们对Google官方的TODO-MVP基础实现做了一些分析,今天继续探讨基于Loader机制的TODO-MVP实现。首先简单介绍Loader机制的主要特点。
2017-05-02 21:53:28
478
原创 MVP架构在Android平台上的实现分析(一)
MVP也即Model-View-Presenter,是在MVC基础上优化衍生出来的一种软件架构模式,它将MVC中的Controller层进行了优化而生成了Presenter(可理解为主持者或表示者)。本文对Google官方实现TODO-MVP进行分析梳理,可供参考。
2017-04-30 22:04:50
277
原创 移动开发中的软件架构
在移动开发领域,我们往往会遇到软件的可扩展性、可复用性以及可维护性等问题,这就涉及到如何做好软件的架构设计或者重构优化工作。结合实践与思考,本文对其中的Android应用软件架构做些梳理,首先是层次结构划分,其次是技术选型的考虑。
2017-04-27 21:17:08
368
Android应用编程基础-Java程序设计系列(多篇打包)
2014-11-13
Android应用编程基础-Eclipse环境搭建,模拟器与真机调试系列(打包)
2014-11-13
面向对象技术在MiniGUI 中的运用(魏永明)
2008-11-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人