首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
Ios
订阅
阿达哒哒
更多收藏集
微信扫码分享
微信
新浪微博
QQ
60篇文章 · 0订阅
EXC_BAD_ACCESS
僵尸对象是用于捕捉内存错误的调试功能。 NSZombieEnabled是一个环境变量,可以控制 Core Foundation 的运行时是否将使用僵尸对象。在发布的构建包中一定要禁用 NSZombieEnabled。 Product -> Scheme -> Edit Sche…
好好看看 KVC && KVO
但是这里会有2种特殊情况。 运行后编译成功,但是代码奔溃掉。原因是 KVC 。所以我们只需要实现这么一个方法。甚至不需要写函数体部分 情况四:如果我们观察对象的属性是数组,我们经常会观察不到变化,因为 KVO 是观察 setter 方法。我们可以用 mutableArrayV…
iOS 最优无痕埋点方案
在移动互联网时代,对于每个公司、企业来说,用户的行为数据非常重要。重要到什么程度,用户在这个页面停留多久、点击了什么按钮、浏览了什么内容、什么手机、什么网络环境、App什么版本等都需要清清楚楚。一些大厂的蛮多业务成果都是基于用户操作行为进行推荐后二次转换。另一方面是以日志的作用…
APM 监控系统:网络篇(上)
移动网络环境一直很复杂,WIFI、2G、3G、4G、5G 等,用户使用 App 的过程中可能在这几种类型之间切换,这也是移动网络和传统网络间的一个区别,被称为「Connection Migration」。此外还存在 DNS 解析缓慢、失败率高、运营商劫持等问题。用户在使用 Ap…
APM 监控系统:OOM
1. 基础知识准备 硬盘:也叫做磁盘,用于存储数据。你存储的歌曲、图片、视频都是在硬盘里。 内存:由于硬盘读取速度较慢,如果 CPU 运行程序期间,所有的数据都直接从硬盘中读取,则非常影响效率。所以 CPU 会将程序运行所需要的数据从硬盘中读取到内存中。然后 CPU 与内存中的…
APM 监控系统:电量消耗
移动设备上电量一直是比较敏感的问题,如果用户在某款 App 的时候发现耗电量严重、手机发热严重,那么用户很大可能会马上卸载这款 App。所以需要在开发阶段关心耗电量问题。 开发阶段基本没啥问题,我们可以结合 Instrucments 里的 Energy Log 工具来定位问题。…
iOS面试 自己实现一个自旋锁
如果共享数据已经有其他线程加锁了,线程会以死循环的方式等待锁,一旦被访问的资源被解锁,则等待资源的线程会立即执行。
架构师常说的“技术架构”是指什么?
团队的架构师call了个会,会议的主题是介绍技术架构的改造方案。阿强脑中闪过架构的模糊印象,一幅线框图里有密密麻麻的格子,格子里写着各种常用的组件名称。阿强口中开始念叨着着,“看你这次又要整啥花样”。投影仪里出现一张线框图,画着经常使用的工具,下面是IDE,gitlab,xxx…
[译]《iOS Crash Dump Analysis 2》- Apple Silicon Mac
在本章中,我们着眼于 Apple Silicon Mac 上的崩溃,比如,因使用 Rosetta 翻译系统而引起的崩溃以及因在 macOS 上运行的未修改 iOS 应用程序而引起的崩溃。 此外,我们还将研究同时支持 ARM 和 Intel CPU的多体系结构代码可能导致的新型崩…
Blocks原理探究
Blocks可以用一句话来概括:带有自动变量的匿名函数。关于Blocks的语法和用法,本文不在过度赘述。而是聚集于Blocks的本质到底是什么?他是怎么实现的? Block实际上是C语言的扩充,也就是说,Block语法源代码是会被编译为普通的C语言源代码的。通过clang可以将…