如释重负的一周,放松了很多。
这周终于提交了一个 TF ,主要是围绕导出导出功能做优化:
从上周开始,我就一直在处理导出数据时爆内存的问题。数据比较少的时候还好,但是数据一多,特别是图片内容比较多的情况下,导出时必然会出现因为内存不足而闪退。
经过逐项方法的排查,最终确定问题就出现在读取图片数据上。我尝试了各种方法,减少 fetch limit ,加 autoreleasepool ,每次循环结束后清空数组,都不行。而且奇怪的是,即使退出导出页面了,被占用的内存也没有释放。
后来在请教了肘子哥之后,肘子哥立刻看出了问题所在,一针见血,一句代码就解决了我的问题。原来我之前使用的是全局的 Environment 托管上下文,改成临时的上下文就 ok 了。
这不是第一次肘子哥帮我解决 Core Data 方面的问题了,在此,赞美肘子哥!
为了让用户帮我调试 App ,我写了个在非生产环境下才会出现的 debug view 。 正好 RevenueCat 也有一个 debug UI ,可以显示关于内购的相关信息,就也加进来了。Debug mode 下没有任何问题,但是 Release Mode 就无法编译,archive 也不行,找了半天原因,直到看到 RevenueCat 的文档里有这么一句:
Note: The debug UI won't compile for release builds, so you'll need to disable the behavior before archiving for release.
买了大电视后,就特别想在电视上看 Netflix 。
最简单的方案应该是 Apple TV ,但是没舍得。前些天差点就买了一个软路由,但是看看价格还是舍不得。之前用 NAS 折腾过一次旁路由,失败了。又看了几个教程后发现我的 NAS 完全可以做旁路由,之前失败其实是搞错了方向。
周日花了一下午和一晚上终于搞定了 Nas+OpenWrt 。期间遇到了 OpenWrt 可以联网,但是连到 openwrt 的手机无法联网的问题。装了两个不同版本的 openwrt 的镜像,各种瞎鼓捣,又是 opkg ,又是配置接口和防火墙,还特意花钱注册了一个论坛账号。
搞定后发现,将电视的 IP 和 DNS 设置成旁路由还是比较麻烦,还不如直接用电脑或者手机投屏了……不过 OpenWrt 还是有很多可玩性的,有待以后慢慢探索了。
本周体重变化不大,但是有新突破,突破了 190 斤,最低 189.7 斤。
有两天的晚饭吃得比较晚,因为特别饿吃得还比较多,万幸没有涨称。
这周只去了两次健身房,周二练背,周五练胸。
泳池终于重新开放了,去年买的游泳三件套终于开封了,去游了 30 分钟。
不服不行,年龄越大,身体恢复就越慢,健身后三天酸痛都没有丝毫减轻。
1
magic3584 266 天前
太佩服肘子哥了,每天一直在学习,我最近从 flutter 的 sqlite 往 coreData 迁移,也一直在拜读博客的文章。
旁路由的话我就用的 N1 ,还有一个 N1 刷了电视盒子。 |
2
i979491586 266 天前
肘子 有个好老丈人就是好 哈哈哈(很是羡慕)
|