凤凰社为您找到相关结果 460 条

【凤凰社】拇指记者深入Android公司,打探事件分发机制背后的秘密

前言 聊到事件分发,很多朋友就会想到view的dispatchTouchEvent,其实在此之前,Android还做了很多工作。 比如跨进程获取输入事件的方式?在dispatchTouchEvent责任链之前还有一条InputStage责任链?DecorView,PhoneWindow之间的传递顺序? 另外还包括事件分发过程中事件序列的处理方式?ViewGroup和View之间的协调?mFirs

【凤凰社】细谈Activity四种启动模式

Activity作为四大组件之一,也可以说是四大组件中最重要的一个组件,它负责App的视图,还负责用户交互,而且有时候还经常其他组件绑定使用,可以说非常的重要。 虽然说我们天天都在使用Activity,但是你真的对Activity的生命机制烂熟于心,完全了解了吗?的确,Activity的生命周期方法只有七个(自己数-。+),但是其实那只是最平常的情况,或者说是默认的情况。也就是说在其他情况下,A

【凤凰社】iOS底层原理(八)内存管理(下)

weak指针 我们通常会使用__weak来对变量进行弱引用,被__weak修饰的变量一旦被释放,会自动置为nil __unsafe_unretained的作用也是将变量变成弱指针,但是不同于__weak的原因是修饰的变量释放后并不会置为nil weak的实现原理 我们可以在dealloc析构函数的实现中找到关于弱引用的处理 根据调用轨迹dealloc -> _objc_rootDeallo

【凤凰社】iOS底层原理(七)多线程(下)

iOS中的读写安全 atomic atomic用于保证属性setter、getter的原子性操作,相当于在getter和setter内部加了线程同步的锁原子性:原子即为最小的物理单位,意味不可再分割;即代码都为一个整体在同一线程进行操作 atomic只是保证setter、getter是线程安全的,并不能保证使用属性的过程是线程安全的 从源码分析getter和setter对于atomic的使用 我

【凤凰社】iOS底层原理(七)多线程(上)

基本概念 进程和线程 进程:进程是指在系统中正在运行的一个应用程序 线程:1个进程要想执行任务,必须得有线程(每1个进程至少要有1条线程) 一个进程(程序)的所有任务都在线程中执行 1个线程中任务的执行是串行的 进程和线程的比较 线程是CPU调用(执行任务)的最小单位 进程是CPU分配资源和调度的单位 一个程序可以对应多个进程,一个进程中可以有多个线程,但至少要有一个线程 同一个进程内的线

【凤凰社】iOS底层原理(七)多线程(中)

多线程的安全隐患 一块资源可能会被多个线程共享,也就是多个线程可能会访问同一块资源;当多个线程访问同一块资源时,很容易引发数据错乱和数据安全问题### 问题案例 卖票和存钱取钱的两个案例,具体见下面代码 @interface BaseDemo: NSObject - (void)moneyTest; - (void)ticketTest; #pragma mark - 暴露给子类去使用 -