Skip to content

Commit

Permalink
style: update
Browse files Browse the repository at this point in the history
  • Loading branch information
linwenbang committed Jul 29, 2019
1 parent 1436658 commit 48dd4b6
Showing 1 changed file with 14 additions and 16 deletions.
30 changes: 14 additions & 16 deletions Reports/2019/#77-2019.07.29.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,8 +44,8 @@ iOS 13 上此框架更新了新功能
[@looping](https://github.com/looping):作者在用 Flutter 开发了一款应用后,总结了 Flutter 的一些特性和自己使用后的心得体会,整体感觉是 —— “Not bad” —— 还不错。本文虽然是大半年前写的,但还是可以当作技术选型的避坑指南来参考。
Flutter 的好处就不用多说了,列下作者比较在意的几个点:

- Flutter 社区还比较小众,贡献者不算多,最佳实践偏少,组件不够丰富,出错调试也比较费神(社区是在逐步扩大的,但选型时还得看团队能力和工作饱和度,能不能自己消化一些问题)
- UI 层自己绘制,样式跟系统有脱离,在系统控件设计发生改变的时候,还得依赖社区升级相关组件(国内大部分应用界面的控件都是定制化的,即使原生开发也会面临这样的问题,不过 Flutter 会暴露的更加明显)
- Flutter 社区还比较小众,贡献者不算多,最佳实践偏少,组件不够丰富,出错调试也比较费神(社区是在逐步扩大的,但选型时还得看团队能力和工作饱和度,能不能自己消化一些问题)
- UI 层自己绘制,样式跟系统有脱离,在系统控件设计发生改变的时候,还得依赖社区升级相关组件(国内大部分应用界面的控件都是定制化的,即使原生开发也会面临这样的问题,不过 Flutter 会暴露的更加明显)
- 跟原生混编以及平台差异化设计(某功能只在某端有,或者界面表现不一样等)会使整体结构变得复杂,在投入使用时就要考虑好后期的维护性(这个是跨平台框架的通病,要避免在过于复杂的业务场景上使用)

### 🐕 [CAEmitter​Layer](https://nshipster.com/caemitterlayer/)
Expand All @@ -59,27 +59,25 @@ Flutter 的好处就不用多说了,列下作者比较在意的几个点:
- Animated PNGs
- WebGL



对粒子发射器效果有兴趣的读者可以看一下这篇文章

### 🚧 🐕 [Reducing Memory Footprint and OOM Terminations in iOS](https://medium.com/flawless-app-stories/techniques-to-reduce-memory-footprint-and-oom-terminations-in-ios-a0f6bef38217)
### 🌟 🚧 🐕 [Reducing Memory Footprint and OOM Terminations in iOS](https://medium.com/flawless-app-stories/techniques-to-reduce-memory-footprint-and-oom-terminations-in-ios-a0f6bef38217)

[@红纸](https://github.com/nianran):当应用程序消耗太多内存,就会被系统杀掉。占用过多的内存空间会增大被查杀的概率。在本文中,作者介绍了多种图片处理技巧,让我们更好的减少内存的占用总结如下:
[@红纸](https://github.com/nianran):当应用程序消耗太多内存,就会被系统杀掉。占用过多的内存空间会增大被查杀的概率。在本文中,作者介绍了多种图片处理技巧,让我们更好的减少内存的占用总结如下:

1. 更换色彩空间 sRGB(8) 代替 DisplayP3(16)
2. 利用 UIGraphicsRenderer 同时绘制同一矩阵内图像(🌰:聊天头像),使用 UIGraphicsRenderer 也可以复合图像,其只需要占用一帧大小即可
3. UIGraphicsRenderer 会自动识别使用 DisplayP3,而 UIGraphicsBeginImageContextWithOptions 最多使用 sRGB
4. 在瀑布流这种滚动展示图片列表中,可以使用计时器统计活动中的图片,为活动中的图片加载剩余的部分
5. 使用更小的图片很多图片服务商可以对图片进行福处理下发(参考:[七牛云图片预处理](https://developer.qiniu.com/dora/manual/1270/the-advanced-treatment-of-images-imagemogr2))
1. 更换色彩空间 sRGB(8) 代替 DisplayP3(16)
2. 利用 UIGraphicsRenderer 同时绘制同一矩阵内图像(🌰:聊天头像),使用 UIGraphicsRenderer 也可以复合图像,其只需要占用一帧大小即可
3. UIGraphicsRenderer 会自动识别使用 DisplayP3,而 UIGraphicsBeginImageContextWithOptions 最多使用 sRGB
4. 在瀑布流这种滚动展示图片列表中,可以使用计时器统计活动中的图片,为活动中的图片加载剩余的部分
5. 使用更小的图片,很多图片服务商可以对图片进行预处理下发(参考:[七牛云图片预处理](https://developer.qiniu.com/dora/manual/1270/the-advanced-treatment-of-images-imagemogr2))
6. 更好的管理缓存,在进入后台的时候都可以进行清理(例如,URL 缓存已存入磁盘的图片内存缓存)
7. 在出现内存警告,对于不可见的页面,可以进行清除操作
8. 检查代码的内存泄露
9. 不用清除基于 NSDictionary 的缓存,应使用 NSCache([原因](https://developer.apple.com/videos/play/wwdc2018/416/))
7. 在出现内存警告,对于不可见的页面,可以进行清除操作
8. 检查代码的内存泄露
9. 不用清除基于 NSDictionary 的缓存,应使用 NSCache([原因](https://developer.apple.com/videos/play/wwdc2018/416/))

## 工具

### [免费又好用的 iOS UI 调试软件,Lookin 正式发布](https://mp.weixin.qq.com/s/FlGfb02ZOv9YLwCfEwIsjA)
### 🌟 [免费又好用的 iOS UI 调试软件,Lookin 正式发布](https://mp.weixin.qq.com/s/FlGfb02ZOv9YLwCfEwIsjA)

[@Parsifal](https://weibo.com/parsifalchang):Lookin 是微信读书团队出品的一款免费的 UI 调试工具,功能像 Xcode 自带的 UI Inspector 或者简版的 Reveal。除支持查看 UI 层级和视图信息外,还提供了方法监听功能,算比较实用的一个特性。目前虽然不能与强大的 Reveal 比较,但作为一款免费的功能软件,还是也比较推荐有相关需求的同学实用。

Expand All @@ -94,7 +92,7 @@ Flutter 的好处就不用多说了,列下作者比较在意的几个点:

> Tips:[FengNiao](https://github.com/onevcat/FengNiao/blob/master/README.md) 和 [LSUnusedResources](https://github.com/onevcat/FengNiao/blob/master/README.md) 实现原理相似,都是遍历资源目录下后缀 ["imageset", "jpg", "png"...] 的文件,然后在源文件 ["m", "swift", "xib", "storyboard"...] 中字符串匹配,无匹配则是无用的资源文件。

### 🐎 [Managing background tasks with the new Task Scheduler in iOS 13](https://medium.com/snowdog-labs/managing-background-tasks-with-new-task-scheduler-in-ios-13-aaabdac0d95b)
### 🌟 🐎 [Managing background tasks with the new Task Scheduler in iOS 13](https://medium.com/snowdog-labs/managing-background-tasks-with-new-task-scheduler-in-ios-13-aaabdac0d95b)

[@zvving](https://github.com/zvving):iOS 13 中苹果引入 `BackgroundTasks framework`,力求在提供流畅用户体验与延长电池使用时间之间找到平衡。本文可以快速了解后台任务的新变化:

Expand Down

0 comments on commit 48dd4b6

Please sign in to comment.