低代码到底是不是行业毒瘤?一线大厂怎么做的?戳此了解>>> 了解详情
写点什么

MDC Windows Phone 专场:基于地图 API 的开发及经验分享

2012 年 9 月 02 日

8 月 25-26 日,首届 MDC移动开发者大会在京召开,此次大会吸引了来自iOS、Android 以及Windows Phone 领域的开发和实践者参与,在Windows Phone 分会场,信必优Windows Phone&Windows 8 系统架构师李靖南,高德地图API 开发工程师朴春植( @贝壳笨),飞信李辉以及 Snack Limited 联合创始人兼 CEO 杨迅分别到场做了主题演讲。本文结合活动实况及嘉宾演讲幻灯片对本次活动进行总结,希望能够让读者对本次活动以及移动开发有更全面的了解。

演讲一:李辉,WP7 开发过程经验分享(点击下载演讲资料

李辉的演讲主要围绕如何优化 App 展开,首先提到了全景视图左右滑动的性能问题:在进行左右滑动操作时,当手指刚刚触碰到按钮或者列表项,就会触发 Tilt 动画(使用 toolkit 的 TiltEffect),这会导致整个大内容区块 BitmapCache 缓存的更新,滑动切换也就会显得不那么流畅了,总会感觉钝了一下,这是由于 GPU 超负荷跳帧导致,解决办法是:

当检测到滑动手势时避免触发 Tilt 动画,通过 beginTouchDownAnimation(按下)和 beginTouchUpAnimation(恢复动画)两个方法实现,详细代码请参考讲稿。

UI 阻塞优化——在一小段时间里,UI 线程执行任务太多会导致 UI 阻塞现象。比如好友列表的好友头像加载时,即使使用了后台线程下载图片,但是返回的情况仍不确定,优化的方法是:

分散 UI 线程工作,控制图片下载后集中通知线程刷新的时机。此时可将下载后的图片放到一个队列里面,当界面停止滑动并且队列中图片达到一定数量时再更新好友头像。

如何加快应用程序的启动速度:

  • 使用程序启动界面
  • 最小化应用程序集的大小
  • 将程序集分解为多个小的程序集
  • 减少构造函数和 Loaded 事件中的代码
  • 独立存储或数据库的使用

其中,减小程序集大小会增加程序第一次加载时的速度,可以通过将 BuildAction 设置为 Content,使用 JPG 图片代替 PNG 图片以及避免将本地化资源包含在主程序中等方法来解决。

由于所有的构造函数和 Loaded 事件中的代码都会在应用显示第一帧之前运行,因此通过限制在以上函数或方法中执行其他耗时操作可以提升应用的启动速度。一种方案是在 LayoutUpdated 的事件处理程序中执行这些耗时的操作(页面和控件的构造函数解析 XAML、实例化 XAML 中定义的对象),LayoutUpdated 事件会在应用程序的第一帧显示之后才执行。

当从独立存储或者数据库中读取数据时,可以在程序中创建一个包含计时器的帮助属性以测量反序列化应用程序设置所消耗的时间。若该时间超过 100ms,则应考虑将该过程移动到一个后台线程中执行。另外在独立存储和数据库的比较中可以发现,处理对简单数据的存储及应用时,独立存储的速度是优于数据库的。

演讲二:朴春植,基于高德地图 API Windows Phone 地图开发(点击下载演讲资料

主要介绍了如何通过高德的 API 资源来进行开发,基础部分讲解了如何显示地图、添加覆盖物以及查询并添加覆盖物的方法。在提高篇中,还介绍了锚点的概念,如何显示任意容器和 Tip 自定义等内容。

本次移动开发者大会北京站活动圆满结束,9 月 1 日至 2 日,上海站活动也已经展开,欢迎了解详细议程 @InfoQ 还将继续关注并报道相关新闻。

2012 年 9 月 02 日 07:28755
用户头像

发布了 156 篇内容, 共 42.4 次阅读, 收获喜欢 2 次。

关注

评论

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

让“程序猿”抓狂的合并单元格

IT蜗壳-Tango

办公自动化 3月日更 IT蜗壳教学

算法攻关-爬楼梯最小花费_0076

小诚信驿站

刘晓成 小诚信驿站 28天写作 算法攻关 爬楼梯最小花费

uc01. 备案合同

新盛

Wireshark 数据包分析学习笔记 Day14

穿过生命散发芬芳

Wireshark 数据包分析 3月日更

强软弱虚——Java中的引用类型

少平

大作业--APP的注册与登录

王一凡

产品经理训练

Zookeeper.03 - 实现分布式锁

insight

zookeeper 3月日更

微信小程序开发:绑定手机号获取验证码功能

三掌柜

小程序 3月日更

篮下有球-用例

z

大作业附件1

三笠

架构实践全景图

博文视点Broadview

GoPath模式和GoMoudle模式的相爱相杀

happlyfox

golang 28天写作 3月日更

什么时候编程语言不重要

soolaugust

编程语言

故事开始了,Python 图像算法取经之旅 365 天的第 1 天

梦想橡皮擦

28天写作 3月日更

知识图谱上的图神经网络

博文视点Broadview

年薪千万的产品经理打开了我对这个职位的新认知!

冰河

深度思考 程序人生 产品经理

翻译:《实用的Python编程》06_02_Customizing_iteration

codists

Python

少些爹味才是好爹——再谈自主性

Justin

心理学 教育 28天写作 游戏设计

产品经理介绍产品

lenka

3月日更

大作业

Denny-xi

产品经理 产品训练营作业

初识Golang之语法基础介绍

Kylin

golang 读书笔记 3月日更

ECMAScript 2017(ES8)新特性简介

程序那些事

ecmascript 程序那些事 ecmascript 2017 es8

疫情大背景下,电商的比重有望继续攀升;滴滴全球单日订单首次突破5000万

󠀛Ferry

七日更 3月日更

《Redis核心技术与实战》学习笔记 01

escray

redis 极客时间 学习笔记 28天写作 3月日更

大作业—产品文档

三笠

产品

大作业6

YING꯭YING

第 8 周作业 _ prd

园子

C/C++ 性能优化背后的方法论:TMAM

vivo互联网技术

c c++ 性能优化 cpu

大作业

z

网上签约备案系统-需求文档

新盛

从容一些,不必赶「Day 25」

道伟

28天写作

2021 ThoughtWorks 技术雷达峰会

2021 ThoughtWorks 技术雷达峰会

MDC Windows Phone专场:基于地图API的开发及经验分享-InfoQ