通过反编译排查堆栈偏移过大的 Crash
上报数据量过大导致的 Crash
ReactNative升级至0.50.3
ReactNative自定义地址调试
ReactNative ScrollView 及 WebView 上下拖动切换
前言
本文主要记录在 ReactNative 里如何实现 ScrollView 及 WebView 的上下拖动切换。
由于 ReactNative 里 WebView 没有提供 onScrollEndDrag
等拖动事件的回调,所以只能通过别的方法来实现。原生的 WebView 有这些回调,但是这样的话得借助 iOS 跟 android 两端的原生代码,这里我们只通过 js 来实现最终效果:
NodeJS编写命令行脚本
NSURLSession错误使用引起的网络阻塞问题
前言
最近一段时间公司的 APP 在某个时间段比较多人访问时,经常出现连接不上服务器的情况,刚开始我们一直都以为是服务器问题,运维同事做了一些措施还是不能解决。
后来在使用 Charles
抓包时,看到每次的接口请求,Keep-Alive
都是不生效的。
猜测是因为这里导致用户发起的每个请求,都要重新进行 DNS 解析、建立 SSL 握手等操作(尤其我们首页每次刷新还都会同时发起好几个请求…)。
而我们 DNS 用的貌似是第三方的服务,所以问题比较大可能是出在跟我们服务器的握手阶段(为了方便定位是什么问题,我在一个版本中,加入了错误码的提示,发现很多是超时、握手失败等情况)。
当很多人同时访问时,由于前面有大量握手(我们用的是 HTTPS,报文会比 HTTP 多一些)没建立成功,服务器还在忙着处理,后面的请求就处理不过来了,所以就阻塞了。
那应该如何解决呢?
iOS 自动释放池原理探究
前言
这篇文章主要通过苹果开源的 NSObject.mm(注:写这文章时的日期是 2017.3.12,使用的版本是objc4-706
,可能与以前的版本会稍有不同) 来对 @autoreleasepool
进行说明。