进程和线程的通信方式
摘要:进程间通信(IPC)方式 Bundle Android中三大组件Activity、Service、Receiver都支持在Intent中传递Bundle数据,而Bundle实现了Parcelable接口,所以它可以方便的在不同的进程间进行传输。当在一个进程中启动另外一个进程的Activity、Ser
阅读全文
posted @
2022-09-15 14:57
幺幺零零
阅读(102)
推荐(0) 编辑
四大组件之Service
摘要:Service是一种可以长期在后台运行而不提供界面的应用组件。服务又可以分为前台服务和后台服务 前台服务前台服务是指是能让用户感知到服务正在运行,因此服务必须显示通知。比如QQ音乐的播放,如果打开了播放控制里的状态栏显示,当你播放音乐时,状态栏里会显示你正在播放的音乐,再比如下载软件,也同样会在状态
阅读全文
posted @
2022-09-09 11:27
幺幺零零
阅读(309)
推荐(0) 编辑
单例模式
摘要:单例就是只有一个实例对象,即在整个程序中,同一个类始终只有一个对象进行操作。这样可以极大的减少内存开支和系统的性能开销。这种模式提供了一种创建对象的最佳方式,让类负责创建自己的对象,同时确保只有单个对象被创建。这个类需要提供访问其唯一对象的方式,且可以直接访问,不需要实例化该类的对象 为保证只能由自
阅读全文
posted @
2022-09-07 21:40
幺幺零零
阅读(27)
推荐(0) 编辑
Android常见内存泄露
摘要:内存泄漏:Android程序开发中,如果一个对象已经不需要被使用了,本该被回收时,而这时另一个对象还在持有对该对象的引用,这样就会导致无法被GC回收,就会出现内存泄漏的情况。内存泄漏时Android程序中出现OOM问题的主要原因之一。所以我们在编写代码时,一定要细心处理好这一类的问题 单例设计模式造
阅读全文
posted @
2022-09-07 16:02
幺幺零零
阅读(154)
推荐(0) 编辑
Binder浅析
摘要:传统IPC传输数据 Android系统内核是Linux,每个进程有自己的虚拟地址空间,在32位系统下最大是4GB,其中3GB为用户空间,1GB为内核空间;每个进程用户空间相对独立,而内核空间是一样的,可以共享。但是用户空间和内核空间是隔离开的,无法互相访问,传统的IPC传输数据需要借助copy_fr
阅读全文
posted @
2022-09-07 16:00
幺幺零零
阅读(274)
推荐(0) 编辑
Activity的生命周期和启动方式
摘要:Activity的生命周期 onCreate() :当Activity第一次创建时调用。该方法(如果有)会提供给你一个包含之前活动的冻结状态信息bundle包。 onStart():当Activity被展示在用户眼前时调用。如果活动出现在前台紧接着是onResume(),如果活动直接隐藏则紧接着是o
阅读全文
posted @
2022-09-05 17:58
幺幺零零
阅读(205)
推荐(0) 编辑
Handler的基本使用和工作流程
摘要:一、Handler的基本使用 Handler一套Android消息传递机制,在多线程的应用场景中,将工作线程中需更新UI的操作信息传递到UI主线程,从而实现工作线程对UI的更新处理,最终实现异步消息的处理,多个线程并发更新UI的同时,保证线程安全。 使用方式 Handler的使用方式 因发送消息到消
阅读全文
posted @
2022-09-05 13:09
幺幺零零
阅读(300)
推荐(0) 编辑
JVM内存结构与GC算法
摘要:JVM内存结构与GC算法 运行时数据区域 虚拟机栈、本地方法栈(native方法)、程序计数器:指令相关 堆、方法:数据相关 方法区和堆是所有线程共享的内存区域;而java栈、本地方法栈和程序计数器是运行是线程私有的内存区域 程序计数器 程序计数器(Program Counter Register)
阅读全文
posted @
2022-09-02 15:13
幺幺零零
阅读(56)
推荐(0) 编辑
View绘制流程
摘要:View绘制流程 一、View的绘制时机 1、知识储备 Window:每个Activity都会创建一个Window用于承载View视图的显示,Window是一个抽象类,存在一个唯一实现类PhoneWindow。 PhoneWindow:该类继承于Window类,是Window类的具体实现,我们可以通
阅读全文
posted @
2022-09-02 15:10
幺幺零零
阅读(497)
推荐(0) 编辑