0%

平常开发中,经常会用到释放资源的问题,最常见的就是网络请求了,也是最经常被忽略的问题,例如,我们进入一个新的页面会请求数据,在请求回来之前,这个时候如果用户退出了该页面,就需要及时的释放资源(cancel掉之前的请求),避免资源被释放带来的其他问题,例如空指针,而页面中,可能不止网络请求,可能有定时器,动画,等资源都需要及时的释放,这使得我们管理起来非常麻烦

阅读全文 »

前言

最近在用flutter写一个小项目,在写主页面(底部导航栏+子页面)时遇到的一个问题:当点击底部item切换到另一页面, 再返回此页面时会重走它的initState方法(我们一般在initState中发起网络请求,或者初始化的操作),导致不必要的开销

阅读全文 »

最近用斐讯N1刷了Ubuntu系统,作为一个小型的服务器,偶尔需要在外网访问,内网穿透的工具有很多,例如花生壳,frp,ngrok等,这里使用一个比较简单配置的frp,是一个可用于内网穿透的高性能的反向代理应用,支持多端口多协议,而且是开源的,能满足大部分的需求

阅读全文 »

N1上了不到两个月,斐讯就翻车了,现在N1也挖不了矿,作为NAS又太鸡肋,看到可以刷Armbian系统还是很激动的,可以作为服务器折腾一下,这里记录一下刷机的过程

阅读全文 »

K3N刚发布,斐讯就翻车了,K3N基本没有讨论的帖子,论坛基本是K3的帖子,好在K3和K3N的固件是通用的,通过TTL可以直接刷入K33的固件,在这里记录一下刷机的过程

阅读全文 »

1. 背景

  • iOS IAP 的机制是有问题的。并不是金融级别的支付校对流程
  • iOS IAP是在客户端完成的,是单向的过程,使用 IAP 内购会有可能导致订单丢失
阅读全文 »

泛型可以让代码处理类型更加灵活,在某些场景下可以很大程度的重用代码,泛型是什么,使用泛型的好处,这里不多说,网上有很多文章介绍的很详细,这里只讨论用法,Swift的泛型与其他语言有些类型,又有些不一样,搜了一下发现,网上的文章只描述了一点,并不全面,看完后依然没能很全面的说明泛型的用法,在这里记录完整的用法

阅读全文 »

引用计数内存管理

  1. 所有的对象都存放在堆上,需要手动管理内存
  2. iOS内存管理通过retainCount进行管理,通过引用计数+/-1来控制内存的的声明周期,通常来说,我们在一个代码块中,我们会对需要用到的对象的引用计数+1,在离开代码块时,对引用计数-1,通过这种机制,我们只需要关心在我们的代码中需要的时候retain,不需要的时候release,而不用关心对象什么时候释放,当引用计数为0,即之后再也没有对该内存的引用,对象内存就会被释放,这个由系统框架来做
阅读全文 »