大众点评手机客户端的改进历程

大众点评手机客户端的改进历程

ID:37218161

大小:689.60 KB

页数:37页

时间:2019-05-11

大众点评手机客户端的改进历程_第1页
大众点评手机客户端的改进历程_第2页
大众点评手机客户端的改进历程_第3页
大众点评手机客户端的改进历程_第4页
大众点评手机客户端的改进历程_第5页
资源描述:

《大众点评手机客户端的改进历程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、手机客户端改进历程王道新(资深工程师)daoxin.wang@dianping.com大众点评网概况2003年创建,国内领先的城市生活消费指南网站覆盖全国2300多个城市,近120万家商户,2000万条点评信息活跃用户超过4200万,500M(GA)浏览量/月70台主干服务器,约165位技术人员点评手机App概况2009年10月发布Android1.0版,2010年01月发布iPhone1.0版,目前最新版4.62011年08月底手机独立用户数已超过1300万2011年08月底手机访问量已超过网站的60%,并且增长速度大于网站目录定位服务网络请求

2、本地缓存界面改进其他改进定位服务地图显示定位服务定位定位GPS—卫星定位定位准确度高,速度慢,室内无法使用AGPS—手机基站&WiFi定位定位准确度稍差,速度快,室内可使用Android:国内行货手机多不包括AGPS定位功能iPhone:Apple基站&WiFi数据完备性不及Google,定位效果比Android差获取手机周围基站及WiFi站点信息,调用Google服务http://www.google.com/loc/json不能自己通过基站和WiFi站点信息实现定位,因为Apple不允许定位(cont.)定位得到的信息GPS坐标定位方式(GP

3、S?基站?WiFi?)定位偏差时间戳CDMA2000的基站信息不全WiFi信号干扰提示“无法定位”,还是让用户觉得定位不准?用以确定最新的有效定位,但系统返回的时间戳可能错误地图坐标偏移maps.google.comditu.google.cn地图(cont.)支持在多种地图中显示商户位置GoogleMapBrutBaiduMapMapBarMiniMap自实现地图用于未安装地图的手机使用BaiduMap实现其他定位方式NFCQRCode超声波目录定位服务网络请求本地缓存界面改进其他改进网络请求连接数据网络请求协议协议HTTP:服务器和客户端都有

4、成熟的支持Server:WebServerAndroid:ApacheHttpClientiOS:UrlRequestAPIRawTCP:可能在数据传输方面更高效率,需要大量实现代码连接AndroidSingleClientConnManagerThreadSafeClientConnManageriOS:自己实现连接管理数据数据格式XML:库支持完备,但数据有效率不高JSON:使用方便,库支持完备,但数据有效率不高Binary:需要自实现,但数据有效率高、安全性高50%NDK加速数据解析MD5,GZip...Crypto(encrypt,dec

5、rypt)URLEncoder,URLDecoderDateFormatter.parse()30倍网络连接探索保持长连接把多个请求合并探索替代HTTP的数据承载方式目录定位服务网络请求本地缓存界面改进其他改进本地缓存缓存方式本地缓存缓存内容缓存内容接口数据缓存DISABLED——登陆、注册、签到等NORMAL——附近商户等PERSISTENT——城市列表等图片缓存内存缓存(不要使用SoftReference缓存)磁盘缓存缓存方式Key–Value式缓存Key:资源URLValue:资源数据SQLiteDB组织和管理方便,但速度慢服务器接口数据采

6、用SQLiteDB方式缓存文件难以管理,速度可能快于SQLiteDB图片缓存采用文件方式缓存50%其他缓存方式Key-ValueDBLevelDB:C++编写,开源(http://code.google.com/p/leveldb/)TreapDB:Java编写,开源(http://code.google.com/p/treapdb/)测试方法Key:40-80字节的urlValue:4K-32K字节的随机数据生成100条key-value,写入各数据库,再乱序读100条数据。Write(ms/条)Read(ms/条)Sqlite189.724.

7、89LevelDB94.382.51TreapDB8.405.39目录定位服务网络请求本地缓存界面改进其他改进内存Apk尺寸界面改进StrictMode界面改进StrictMode主线程完成了95%以上的任务如果UI线程有连续多次超过100ms的非UI任务执行,用户就会觉得UI刷新不及时StrictMode(cont.)自动检测在主线程执行的文件读写及网络IO操作StrictModepolicyviolation;~duration=268ms:android.os.StrictMode$StrictModeDiskWriteViolation:

8、policy=19violation=1    atandroid.os.StrictMode$AndroidBlockGuardPol

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。