Android开发常陷入的五大深坑.docVIP

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Android开发常陷入的五大深坑

Android开发常陷入的五大深坑 摘要:Xtreme Labs的工程师Rob Szumlakowski总结了人们在开发Android应用过程中最常犯的5个错误,包括产品设计、兼容性、内存溢出等问题,为了不再让更多开发者掉进这些坑,他给出了一些建议与解决方法。 作为开源系统,Android丰富的版本,对于开发者来说既是福音,也是诅咒。尽管Android与生俱来的开源特性降低了开发门槛,不过这并不意味着对应用质量的要求也随之降低。 开发美观且实用的应用并非易事,开发过30余款应用的Xtreme Labs的工程师Rob Szumlakowski对此深有体会。他对开发Android应用过程中遇到的Bug与错误进行了总结,他分享了其中5条最普遍误区,并提供了一些解决方法。 与iOS应用采用相似设计 许多开发者都希望可以将现存的iOS应用转码为Android应用,而且不对其设计元素进行任何改动,以求同样的操作体验。这其实是一个可怕的误 区。Android应用有着区别于其他平台的界面风格和操作体验。即便采用了同样的设计,同一款应用在iOS平台给人带来的感受,与其在Android平 台带来的感受可能完全不同。不仅如此,这些披着苹果皮的Android应用基本上都不支持桌面widget、内容展示窗口以及一些Android平台独有 的特性。(想想看,Android版的Instagram就是一个典型。) 对于Android应用应该采用什么样式的设计,Google在已经发布的Android应用设计原则( HYPERLINK /tag/Android-Design/track_scores \t _blank Android Design Guidelines)中做出了详尽阐述。开发者应当仔细阅读,并取其精华。虽然老话讲“规则就是用来打破的”,对其稍加改进就能让你的应用与众不同,但是在打破规则之前必须要清楚规则是什么! 设备兼容性差 开源是把双刃剑,开发门槛降低的同时,也带来Android设备碎片化的现状。Android生态系统里充斥着各式各样的系统版本、屏幕分辨率、CPU和键盘样式。不过好在Google于11月13日对SDK授权协议进行了修改,增加了有助于遏制Android碎片化的 HYPERLINK /article/2014089/google-targets-android-fragmentation-with-updated-terms-for-sdk.html \t _blank 新条款。但是,目前开发者仍然要面对Android设备适配的问题。 其实,Android也为开发者提供了许多工具来应对碎片化问题。以下是一些需要注意的问题: a.在对UI进行布局时,学会利用dp(Density-Independent Pixels即DIP)或layout_weight。DIP会根据布局系统自动调整至合适尺寸,而且不会受到屏幕尺寸和像素密度的影响。当你想将屏幕按 照比例分为不同区域显示时,layout_weight会显得非常实用。不过需要注意的是,layout_weight会强制显示程序繁复测量屏幕的显示 大小,而且这个过程比较缓慢。 b.使用XML来规划显示布局,它可以设置适合各种屏幕的图片。 c.一些Android手机配置了可从侧面滑出的物理键盘,当键盘滑出来时,手机界面会自动调整为横屏显示。如果你的应用仅支持竖屏显示,那可能会给用户带来不便。 加载大图时内存溢出 如何在Android设备上加载大图而不会出现内存溢出,一直都是一个被多次提及难题。在调试程序的过程中,可能在一台设备上可以正常缩放、旋转的大图,放在另一台Android设备上则完全行不通,这也是Android碎片化带来的问题。 如何解决呢?首先你要确定在图片下载后,不会被引用,你需要让图片尽快退出堆。如果你执意要为RAM开辟一块空间的话,以下是一些建议: a.将当加载完成后,确保你的可绘制的对象回调为null。 b.不要给活动的内容或可以引用你图片的视图对象添加你的图片引用 c.不要全屏显示图片,尽可能地使用XML-drawable显示较小的图片。 触摸按钮时没有视觉反馈 尽管这个问题极易解决,但是仍然有不少应用掉进这一误区。当用户点击、滑动,或对应用中的按钮进行操作时,应当给予积极的反馈效果。当点击一个按钮后,最起码应该让它变为高亮显示。 在Android平台上,为“点击”和“长按”状态添加视觉反馈并非难事。你需要使用StateListDrawable对象。最简单的方法就是建立一个可绘制的XML文件。( HYPERLINK /guide/topics/resources/drawable-resource.html \l StateList \t _blank 点击

文档评论(0)

xy88118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档