写点什么

MKMapView 的性能优化 - iOS 移动开发周报

  • 2015-07-21
  • 本文字数:1680 字

    阅读完需:约 6 分钟

新闻

  1. Apple Watch 新广告中的中国元素:中国业已成为 Apple 的最重要的市场之一,最近 Apple 发布了一系列关于 Apple Watch 的电视广告,其中有一个主题就是北京。虽然除了舞台背景是在北京以外,并看不出 Apple Watch 在使用上和北京有什么太大关系,但是这则广告确确实实是为了迎合中国市场的行动。
  2. 网络音乐版权新政策:国家版权局最近发布了一则通知,要求网络音乐服务商停止未经授权传播音乐作品,并责令各大网络音乐平台在 7 月 31 日前将未经授权的音乐作品全部下线。QQ 音乐、酷狗音乐、网易云音乐等 25 家网络音乐服务商签署《网络音乐版权保护自律宣言》,承诺抵制各类侵犯网络音乐著作权行为。此举是对国内网络音乐版权的规范,而版权付费和正版化,也是必然趋势。也许这一变化会给 Apple Music 在国内的推广带来一些机会。

教程

  1. 《UICollectionViews Now Have Easy Reordering》:作为和 TableView 一样的最常用的控件之一,CollectionView 自从在 iOS 5 上出现以来就一直在不断改进。在 iOS 9 SDK 中 UICollectionView 已经加入了原生的拖拽重新排列的相关 API,本文通过例子讲解了这个功能的实现方式。如果你还没有使用过 UICollectionView 来制作界面的话,不妨在下一个项目中用它来全面代替 UITableView - 因为从功能上来说后者其实只是前者的一个子集,Collection 相比起来要灵活得多。
  2. 《一次对 MKMapView 的性能优化》:作者通过使用 Instruments 检测并解决了一个遮罩渲染导致的性能恶化的问题,如果你没有 Instruments 的使用经验的话可以阅读本文。对于像文中的圆角或是阴影的处理,有经验的开发者往往能进行一定预判并提前采取手段优化。但是对于更复杂的 view 结构的优化,使用 Instruments 来检测问题源头是必备的技能,也更为可靠。
  3. 《iOS9 Day-by-Day》:iOS Day by Day 系列教程的最新版本。从 iOS 7 起,这位博主就会在 WWDC 之后每天更新一篇新 SDK 中的亮点功能的教程,这次也不例外。想要在短时间内了解新内容的开发者可以考虑订阅这些内容。相应的代码作者也公开在 GitHub 上了,另外如果您对前几年的内容感兴趣的话,还可以继续看看 iOS7 Day by Day iOS8 Day bt Day

开源项目

  1. SCSafariPageController :一个类似于 iOS Safari 中切换标签页时的特效。这个框架接口类似于 UIPageViewController,用户可以提供页面信息,框架将使用 3D 动画帮助你实现切换。如果在应用中有需要模仿系统浏览器标签切换效果的需求的话,这个框架应该可以帮助你节省不少时间。
  2. BTNavigationDropdownMenu :为 Navigation Bar 添加一个菜单,可以用来作为 View Controller 导航。iOS 开发中标准的导航模式其实只有 navigation 和 tab 两种,而众多开发者们也自己发明了像是 drawer 这样的新的导航方式。使用这个框架为我们提供了另一种新的导航模式思路。
  3. LxThroughPointsBezier :计算贝塞尔曲线一直是一件挺烦人的事情,往往需要对控制点进行大量的调整,才能获得理想的曲线。这个框架为我们简化了这一过程,只需要给定想要一条贝塞尔曲线通过的点,以及像是曲率这样的参数,就能帮我们绘制出通过这些点的曲线,这可以大大节省调整曲线的时间。
  4. MPCoachMarks :在 app 制作时一个很通用的需求就是引导教程,一个好的引导教程不仅是展示你的 app 的绝好机会,也能让用户快速明白 app 的基本操作和功能,拉近 app 与用户的距离。这个框架可以为现有的 UI 添加一个变暗的 mask 层,只露出部分 UI。另外,我们还可以简单地在这个 mask 上添加图片或者文本,在创建一个简单的指引式教程时这些特性都是非常方便的。
  5. ParkedTextField :一个可以固定后缀的文本框控件,可以用来引导用户输入一些类似邮箱,域名或者文件名之类的信息。这个项目本身内容并不复杂,源码也很少,但是因为使用了 IBInspectable,这让我们可以在 Interface Builder 中直观地使用这个控件。

感谢徐川对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注 我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群InfoQ 好读者)。

2015-07-21 07:463349
用户头像

发布了 59 篇内容, 共 24.9 次阅读, 收获喜欢 4 次。

关注

评论

发布
暂无评论
发现更多内容

理解 JVM 工作机制(七) 内存分配和回收策略

Geek漫游指南

Java jdk JVM

Nautilus Chain开启全球行,普及Layer3概念加速其采用

股市老人

如何使用golang实现桥接模式

Jack

易观千帆 | 2023年4月证券APP月活跃用户规模盘点

易观分析

证券

我国首例汽车企业全业务场景数据出境安全评估获批

Openlab_cosmoplat

大数据 开源 汽车

软件测试|简单易学的性能监控体系prometheus+grafana搭建教程

霍格沃兹测试开发学社

理解 JVM 工作机制(六) 垃圾收集器

Geek漫游指南

Java jdk JVM

理解 JVM 工作机制(十一) 类加载器

Geek漫游指南

Java jdk JVM

软件测试|Python实用炫酷技能——推导式

霍格沃兹测试开发学社

聊聊 Milvus GC:从一次数据丢失事件展开

Zilliz

非结构化数据 GC Milvus 向量数据库

Nautilus Chain开启全球行,普及Layer3概念加速其采用

BlockChain先知

理解 JVM 工作机制(四) 回收策略

Geek漫游指南

Java jdk JVM

理解 JVM 工作机制(八) JVM 性能调优

Geek漫游指南

Java jdk JVM

2023-05-24:为什么要使用Redis做缓存?

福大大架构师每日一题

redis 福大大

c#中用System.Diagnostics.Process.Start(Path.GetFullPath(“vlc.exe.lnk“), url);用vlc的快捷方式打开http的url不起作用?

福大大架构师每日一题

C# 福大大 vlc

软件测试|pyecharts绘制NBA球星得分能力对比图

霍格沃兹测试开发学社

开发者们:618电商团战即将开启,“抢流量”想上分,必备这三个大招 | MobTech观察

MobTech袤博科技

软件测试|Python操作Excel制作报表,不要太方便

霍格沃兹测试开发学社

中国互联网广告市场年度分析2023

易观分析

互联网 广告

伟大的公司只需要十一人

Openlab_cosmoplat

开源 MidJourney

软件测试|码农必会的git操作(一)

霍格沃兹测试开发学社

理解JVM工作机制(五)垃圾回收算法

Geek漫游指南

Java jdk JVM

CMake入门教程:从零开始构建C/C++项目

小万哥

程序员 后端 开发 C/C++ cmake

Solaris Exchange:一个安全可靠的合成资产交易平台

股市老人

C语言编程—循环语句

芯动大师

人体识别图像技术在智能家居中的应用

数据堂

3D设计必备!5个免高质量的 HDRI 环境贴图网站

Finovy Cloud

blender

理解 JVM 工作机制(十) 类加载机制和加载的过程

Geek漫游指南

Java jdk JVM

基于 Amazon API Gatewy 的跨账号跨网络的私有 API 集成

亚马逊云科技 (Amazon Web Services)

Amazon

理解 JVM 工作机制(九) 类文件结构

Geek漫游指南

Java jdk JVM

MKMapView的性能优化 - iOS移动开发周报_移动_王巍_InfoQ精选文章