移动开发

从epoll机制看MessageQueue

epoll机制 一句话解释:epoll机制可以监听特定的fd,当fd收到内容时,发送事件回调。相比select和poll机制,效率更高。 epoll API epoll_create(int size) 参数: size:表示最多可以监听多少个fd,新版本已弃用。 返回值:epoll实例的fd >= 0 成功 < 0 失败 作用: 初始化epoll机制,调用API后

Android面试考点

1、Activity、Dialog、PopupWindow、Toast 与Window的关系 简单的从创建方式的角度来说一说: Activity。在Activity创建过程中所创建的PhoneWindow,是层级最小的Window,叫做应用Window,层级范围1-99。(层级范围大的Window可以覆盖层级小的Window) Dialog。Dialog的显示过程和Activity基本相同,也是创

iOS网络请求依次执行之信号量

首先说明需求点:依次发起请求op1、op2、op3,要求op1成功后再发起op2,若失败,则后续op2、op3不执行,回调失败结果;同理,若op1成功后,发起op2请求失败,则op3不执行,回调失败结果。 最终参考代码:Demo 先看一段网络常见示例: 网上常见示例 从结果上看,满足请求的顺序执行,但是实际使用后,情况变得不一样了: 实际使用结果 从结果日志上看,op2并未

Swift面试题总结

1.convenience : 便利,使用convenience修饰的构造函数叫做便利构造函数 // 便利构造函数通常用在对系统的类进行构造函数的扩充时使用 便利构造函数的特点 1.便利构造函数通常都是写在extension里面 2.便利构造函数init前面需要加convericece 2.swift中Class和Struct的区别 struct SRectangle { var wid

IOS手把手轻松实现灵动岛(Live activity)

首先,我们先简单了解下灵动岛 紧凑视图.png 拓展视图.png 锁屏视图.png Live Activities 依赖于 Widget 实现 函数和页面,而与Widget不同,Live Activities无法访问网络或接收位置更新,更新Live Activities可以使用ActivityKit和远程推送,同时ActivityKit可以控制Live Acti

如何实现双向数据绑定(面试题)

如何实现双向数据绑定(面试题) 实现双向绑定的方式有两种: Object.definedProperty( )【vue2使用的Object.definedProperty( ),进行对象监听】 Proxy(代理对象)【vue3之后,就使用Proxy来实现】 通过以上两种方式来实现,简单来说就是对数据的劫持,当访问或修改某个对象的属性的时候,通过这两种方式进行拦截,再进一步操作,返回结果。

TS进阶之keyof

刷完了type-challenges的所有简单和中等难度的题目后,对TypeScript的类型操作有了一些新的理解和认识。特此用几篇文章来记录下一些重要的知识点。 本系列文章需要您对TypeScript有基本的了解 基本用法 JavaScript通过Object.keys()获取对象的所有属性键值,而typescript主要关注的是类型操作,通过 keyof 操作符可以获取对象中的所有键类型组

iOS Crash 的监听

没想到都2021年,我还得写篇文章来讲讲 Crash 监听的一些事情。虽然蛮多文章讲 Crash 监听这块,但总是讲的不够深入或者说不够全面。于是我想分享一下最近我对这方面知识的一些理解和整理。我计划讲以下几个主题: Crash 的监听 堆栈分析 KSCrash 源码解析 Crash 的类型 根据Crash 的不同来源,Crash 分为以下三类: Mach 异常 最底层的内核级异常。用户态