




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、手机客户端改良历程王道新资深工程师daoxin.wangdianping群众点评网概略n2003年创建,国内领先的城市生活消费指南网站n覆盖全国2300多个城市,近120万家商户,2000万条点评信息n活泼用户超越4200万,500M(GA)阅读量/月n70台主干效力器,约165位技术人员点评手机App概略n2021年10月发布Android 1.0版,2021年01月发布iPhone 1.0版,目前最新版4.6n2021年08月底手机独立用户数已超越1300万n2021年08月底手机访问量已超越网站的60%,并且增长速度大于网站目录n定位效力n网络恳求n本地缓存n界面改良n其他改良定位效力地
2、图地图显示显示定位定位定位nGPS 卫星定位n定位准确度高,速度慢,室内无法运用nAGPS 手机基站 & WiFi 定位n定位准确度稍差,速度快,室内可运用nAndroid:国内行货手机多不包括 AGPS 定位功能niPhone:Apple基站 & WiFi 数据完备性不及Google,定位效果比Android差获取手机周围基站及获取手机周围基站及 WiFi 站点信站点信息,调用息,调用 Google 效力效力google/loc/json不能本人经过基站和不能本人经过基站和WiFi站点信息实现定位,站点信息实现定位,由于由于 Apple 不允许不允许定位 (cont.)n定位
3、得到的信息nGPS坐标n定位方式 (GPS? 基站?WiFi?)n定位偏向n时间戳CDMA2000的基站的基站信息不全信息不全WiFi信号干扰信号干扰提示提示“无法定位,还是无法定位,还是让用户觉得定位不准?让用户觉得定位不准?用以确定最新的用以确定最新的有效定位,但系有效定位,但系统前往的时间戳统前往的时间戳能够错误能够错误地图n坐标偏移maps.googleditu.google地图 (cont.)n支持在多种地图中显示商户位置nGoogle MapnBrutnBaidu MapnMapBarnMiniMapn自实现地图用于未安装地图的手机n运用 Baidu Map 实现其他定位方式nNF
4、CnQRCoden超声波目录n定位效力n网络恳求n本地缓存n界面改良n其他改良网络恳求衔接衔接数据数据协议协议协议n :效力器和客户端都有成熟的支持nServer : Web ServernAndroid : Apache HttpClientniOS : UrlRequest APInRaw TCP : 能够在数据传输方面更高效率,需求大量实现代码衔接nAndroidnSingleClientConnManagernThreadSafeClientConnManagerniOS : 本人实现衔接纳理数据n数据格式nXML:库支持完备,但数据有效率不高nJSON:运用方便,库支持完备,但数据有
5、效率不高nBinary:需求自实现,但数据有效率高、平安性高50%NDK加速数据解析nMD5, GZip.nCrypto encrypt, decryptnURLEncoder, URLDecodernDateFormatter.parse()30倍倍网络衔接探求n坚持长衔接n把多个恳求合并n探求替代HTTP的数据承载方式目录n定位效力n网络恳求n本地缓存n界面改良n其他改良本地缓存缓存缓存方式方式缓存缓存内容内容缓存内容n接口数据缓存nDISABLED 登陆、注册、签到等nNORMAL 附近商户等nPERSISTENT 城市列表等n图片缓存n内存缓存 (不要运用SoftReference缓存
6、)n磁盘缓存缓存方式nKey Value 式缓存nKey : 资源 URLnValue : 资源数据nSQLite DBn组织和管理方便,但速度慢n效力器接口数据采用SQLite DB方式缓存n文件n难以管理,速度能够快于SQLite DBn图片缓存采用文件方式缓存50%其他缓存方式nKey-Value DBnLevelDB:C+编写,开源 (code.google/p/leveldb/ )nTreapDB:Java编写,开源 (code.google/p/treapdb/ )n测试方法nKey:40-80字节的urlnValue:4K-32K字节的随机数据n生成100条key-value,写
7、入各数据库,再乱序读100条数据。Write(ms/条)Read(ms/条)Sqlite189.724.89LevelDB94.382.51TreapDB8.405.39目录n定位效力n网络恳求n本地缓存n界面改良n其他改良内存内存Apk尺寸尺寸StrictMode界面改良StrictMode主线程完成了95%以上的义务假设UI线程有延续多次超越100ms的非UI义务执行,用户就会觉得UI刷新不及时StrictMode (cont.)n自动检测在主线程执行的文件读写及网络IO操作StrictMode policy violation; duration=268 ms:android.os.St
8、rictMode$StrictModeDiskWriteViolation: policy=19 violation=1 at android.os.StrictMode$AndroidBlockGuardPolicy.onWriteToDisk(StrictMode.java:732) at android.database.sqlite.SQLiteDatabase.insertWithOnConflict(SQLiteDatabase.java:1524) at android.database.sqlite.SQLiteDatabase.insert(SQLiteDatabase.ja
9、va:1426) at com.google.android.apps.analytics.PersistentEventStore.putEvent(Unknown Source) at com.google.android.apps.analytics.GoogleAnalyticsTracker.createEvent(Unknown Source) at com.google.android.apps.analytics.GoogleAnalyticsTracker.trackPageView(Unknown Source) at com.dianping.app.GoogleAnal
10、yticsHandler.handleMessage(GoogleAnalyticsHandler.java:49) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:130) at android.app.ActivityThread.main(ActivityThread.java:3683) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Metho
11、d.invoke(Method.java:507) at ernal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) at ernal.os.ZygoteInit.main(ZygoteInit.java:597) at dalvik.system.NativeStart.main(Native Method) StrictMode (cont.)n非UI长操作移至后台的方法nAsyncTasknHandler/MessagenThread内存n消除内存泄露n尽量降
12、低内存占用nHPROF + Eclipse Memory Analyzer内存 (cont.)内存 (cont.)n包括一切需求的图片类型,防止系统在小内存手机上选择大图片ndrawablendrawable-ldpindrawable-mdpindrawable-hdpiApk尺寸n没有纹理的背景图运用 .9.png 或者 xml 资源n圆角、渐变色、填充n多个类似图片可拆成 背景+前景图n部分资源可安装之后从网络加载n如尺寸需求迫切,可分版本发布目录n定位效力n网络恳求n本地缓存n界面改良n其他改良App交互nGoogle Analytics 统计,根据反响调整界面。nPage View / EventApp功能n关注用户反响n用户反响来源nApp Store
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 河南省信阳市平桥区2024-2025学年八年级上学期期末生物试题(原卷版+解析版)
- 11我是一张纸 (教学设计)统编版道德与法治二年级下册
- 2024年五年级数学上册 二 轴对称和平移第2课时 轴对称再认识(二)配套教学实录 北师大版
- 2024年五年级语文下册 第五单元 习作:形形色色的人新学习单教学实录 新人教版
- 7《不甘屈辱奋勇抗争》(教学设计)统编版道德与法治五年级下册
- 金融市场多空策略制定与实施实战指南
- 2024-2025学年新教材高考数学 第1章 空间向量与立体几何 3 直线与平面的夹角教学实录 新人教B版选择性必修第一册
- 5《草船借箭》教学设计-2023-2024学年语文五年级下册统编版
- 医疗机构应急响应预案
- 环境保护与污染防治预案
- 2025湖南省低空经济发展集团有限公司招聘11人笔试参考题库附带答案详解
- 七年级下册道德与法治(2025年春)教材变化详细解读
- 2025山东能源集团中级人才库选拔高频重点提升(共500题)附带答案详解
- 20S515 钢筋混凝土及砖砌排水检查井
- 关于建设吉林长白山人参产业园的报告
- 6人小品《没有学习的人不伤心》台词完整版
- 腰椎ODI评分完整版
- 《工程勘察设计收费管理规定》计价格【2002】10号
- 腰椎间盘突出症射频消融术临床路径
- 防排烟工程监理实施细则
- (完整版)SS4型电力机车高、低压试验程序要点
评论
0/150
提交评论