祝大家开工大吉吧!

Read this article

iOS内存用量分析

前言 我们在查看iOS应用内存时,最常见的手法就是查看左边的Debug Navigator。不知你是否也曾困惑于这个内存究竟包括哪些部分,或者使用Allocations模版观察内存时发现无法和Debug Navigator显示的内存匹配上,这篇文章将带你解答这些疑惑。 Debug Navigator VS Allocations 我们运行一个很简单的iOS App,我只在ViewController中放置了一个View,然后对比下Debug Navigator 和 Allocations给出的内存用量。 可以发现,Debug Navigator给出的是79.3M,而Allocations统计的所有堆和相关VM加起来才38.72M,相差的还是很多的。在之前的文章中我有介绍关于Allocations和VM Tracker的深入理解,其实Allocations中主要包含的是所有MALLOCXXX VM Region和部分App进程创建的VM Region。非动态的内存,以及部分其他动态库创建的VM Region并不在Allocations的统计范围内。比如主程序或者动态库的DATA数据段,这些数据内存区域并非通过malloc分配,也就没有统计在All Heap Allocations中,所以你会发现All Heap Allocations往往会比较小。除非你自行使用malloc系列方法创建大内存块,否则很难看到All Heap Allocations有一个大的数值。我们在实际的App中,大的内存占用一般都是类似于WebKit,ImageIO,…

Read this article

2018.12.31

2018最后一天,总感觉要说点什么才舒服,但是事实上并不会。 这一年真的很忙,忙到自己的都没什么时间。博客好久没更新了,上一次更新,已经是好几个月前了。 朝九晚十的工作已经成为了习惯,或许这也只是为自己的懒惰找了一个借口吧。 昨天晚上躺在床上,找出了我最喜欢的2004无与伦比演唱会重温了一遍。太妈的太帅了,太他妈的经典了,每一首歌,都是我逝去的青春,为了防止晚上看多了感动到大小便失禁,我还是忍住了只看了一遍。 这一年真的快,快到才知道什么叫眼睁睁的看它溜走,快到让你无奈,快到让你无所适从。 逢8的年份果然都不是什么好年,98年洪水,08年地震,18年股市暴跌、币圈暴跌、大规模公司裁员、互联网寒冬、P2P暴雷···早在17年就预料逢8必炸,但是毕竟上天是洪水猛兽,螳臂当车,你挡都挡不住,该来的还是要来。 中国是一个讲究仪式感的国家,就像我这篇博客一样,虽然噼里啪啦写了一堆,可能一点卵用也没有,但是讲究的是一种仪式感。 晚上跟十年老友朋友…

Read this article

震惊,惋惜!

你是bytedance三面的面试官,是我入职后第一个见的人,也是我直属leader。 记得你加我微信的第一句话就是“一个优秀的开发者,都有着自己的博客。你的博客我刚刚拜读完了”,而我的第一句话是“能和一群优秀的人一起工作,是我的荣幸”。 我看了下你的朋友圈,85后,五年腾讯视频OMG履历,之前还呆过盛大,第一印象,大佬! 刚入职的时候,压力很大,每天都很拼命的去花很多时间去学习团队文档,规范,基本都是晚上10点才走,然后你lark消息提醒我让我注意下休息,没事就早点回家。刚开始我以为你家就在附近,后来才知道你家在福田,每天基本都在我之后才走。 每天早上,我都会提前40分钟至1个小时到公司,我觉得这段时间能自由干点自己的事情,比如看看书提升一下,或者完成一下昨日未做完的事情。几乎同一时间我刚坐下打开电脑,你就会背着书包从我椅子后面走过,打一声招呼“早”。 由于你是team负责人,又坐在我旁边,又是我们新项目Bitable四人小分队的一员,每天我都看得到你忙里忙外,从各种会议到新项目规划与开发,再到与下属的OKR制定与建议,几乎每天的时间都已经安排到秒。 我曾自己多次想问一下你是如何在这样的强度下保持活力的,因为你给我的印象是无限精力和活力,你不像一位传统的leader,公司企业文化扁平,不提倡等级制度,平时都是直来直往像一位朋友。你和我年纪相差也不大,但体现出异乎常人的责任心和专注。…

Read this article

vConsole预研

介绍 一个轻量、可拓展、针对手机网页的前端开发者调试面板 Github传送门:https://github.com/Tencent/vConsole 功能 查看 console 日志 查看网络请求 查看页面 element 结构 查看 Cookies 和 localStorage 手动执行 JS 命令行 自定义插件 理解 前端同学在开发Browser端时,能使用Chrome自带一键F12检查功能来方便调试,但是在移动端就没这么方便了。可能也有其他类似支持安卓调试的Chrome插件等辅助使用,但是个人感觉都没有vConsole直接在手机上使用这么直观、简单。对于vConsole框架,简单来说,就是为了方便前端在移动端调试时而开发的一套控制台系统,能够直接在移动设备一键展示打印日志、网络请求、查看Cookie等功能,最库被编译压缩成一个vconsole.min.js文件,前端使用时直接引入该文件即可。 实验和演示 为了演示和实验前后端交互和使用方法,深入了解整个流程,直接一部刨到问题的 祖坟。我用Java简单写了一个本地web系统,使用的是JavaWeb全家桶tomcat+…

Read this article