Android 上那些“不守规矩”的应用们.doc_第1页
Android 上那些“不守规矩”的应用们.doc_第2页
Android 上那些“不守规矩”的应用们.doc_第3页
Android 上那些“不守规矩”的应用们.doc_第4页
全文预览已结束

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Android 上那些“不守规矩”的应用们 2012-6-11, 13:54 | 徐浩岑 我曾经作为一个普通消费者使用过 Android 设备很长一段时间,也一直感叹它的强大与便利。而我有机会接触 iOS 设备之后,却更是为 iOS 系统的灵巧、便利和美观惊叹。运行同样的应用, iOS 设备总是显得更为灵动和友好。 iOS 设备无比迅捷的响应能力更是令我印象深刻,据称这是由于系统界面绘制时,图形进程优先级别不同造成的。而作为一个刚刚入门的 Android 开发者,我最近阅读了许多 Android 应用的开发指导与规范,也确实按照这些规范开发了几个 Android 应用,但却感到越来越不是滋味。虽然这些指导与规范十分合理与明确,但很明显,许多现有的 Android 应用不知为何都没有遵守它们。我自己每天使用的 Android 设备上虽然安装了近百个应用,但真正称的上“规范”的却寥寥无几。这使我意识到,很多时候,运行 Android 系统的设备虽然存在一些固有的缺陷,但更多时候糟糕的应用才是造成用户体验不佳的罪魁祸首。“生命周期”规范如果用通俗易懂的语言来描述, Android 应用的标准生命周期正式开始于被启动并显示应用界面,此后只要用户没有离开应用界面,那么这个应用将始终处于“可见”阶段。换言之,一旦用户通过什么操作从当前应用中跳出,那么这个应用将进入下一个阶段,这个阶段被称为“后台”阶段。离开当前应用的方式有很多种,可能是当前应用启动了另外一个应用,也可能是用户通过“返回”或者“主界面”按钮主动离开了应用。在处于“后台”阶段的应用可以随时回到“活动”阶段只要用户通过任务管理器或者任何别的方式重新启动了它。处于“后台”阶段的应用也通常可能会因为内存不足被终止。由于处于“后台”阶段的应用可能会被不可预期的终止,Android 允许应用在切换到后台时一定会有机会对当前数据进行保存。不过与此同时,处于“后台”阶段的应用被终止时其实也有机会保存数据,但这个保存机会是否存在取决于系统内存的紧张程度。因此,通常建议 Android 开发者在应用切换到“后台”阶段时保存对用户来说十分重要的数据,比如 Gmail 应用会在切换到“后台”时保存邮件的草稿。而那些对用户来说不那么重要的数据,比如 Gmail 应用从服务器上缓存到一半的邮件数据,建议在应用被终止时再尝试保存,因为它们可以随时从服务器上重新拉取,丢了也无关紧要,何况他们相对更为庞大,容易在进行保存操作时拖累系统效能。但我在操作调试器监视自己的 Android 设备时,却注意到一些内置了广告服务的应用,尤其是游戏应用,会在切换到“后台”时尝试保存从服务器上获取到的广告图片。这些图片数据不仅很大,而且数量也不算少,导致游戏切换到主界面时速度很慢,降低了用户的操作体验。这么做的原因也不是不能理解:这些应用无论如何都希望在你没有网络连接时向你展示广告。而在 iOS 系统上,应用被切换到后台时也有机会执行操作。但系统和用户随时都可以强行结束应用,这种情况下应用没有机会执行任何操作。这也使得很多开发者更小心地处理自己的应用,以免因占用资源太多被系统关闭,而不会出现 Android 上那种肆无忌惮的做法。值得一提的 Google 官方指导完全没有做这方面的限制和要求, Google Play 也没有因此对应用进行下架。“数据存储”规范iOS 上由于没有文件系统,且对应用产生的缓存和用户数据都有非常苛刻的存储规范,否则就会被苹果公司下架,因此应用对于存储数据的位置十分统一。但在 Android 上,这简直就是一场灾难。获取大容量存储器读写权限之后,很多应用都会在其根目录中生成缓存文件。除了上文提到的广告,这些文件甚至可能是应用程序用于存储自身状态的。因为有些应用希望在被卸载重新安装后仍能找回先前的配置。但这也造成很多问题。首先这给用户管理存储器带来了巨大的不便:要如何处理这些自己冒出来的文件?其次这种行为也无故减少了存储器的可用容量:如果用户再也不打算安装这个应用了怎么办?事实上,Android 系统已经设计了可用于应用存储内部数据的几种方式。除了机身内部对应的数据文件,如果应用确有必要,也可以在大容量存储器的 Android/Data 位置存储数据,这些数据也能在应用卸载时一并被 Android 系统自动删除。不过许多开发者对此完全不在意,仍然肆无忌惮的在用户存储器内生成各种文件。某著名新闻客户端生成的存储文件甚至会给用户造成严重困扰,使用户相册无故出现不相干的图片。因为其缓存文件夹没有遵守命名规范,在文件夹名前加“.”或者在文件夹内放置 .nomedia 文件以防止媒体扫描应用搜索。另一款著名即时通讯软件更是夸张,竟然同时生成两个文件夹缓存数据。Google 官方指导同样没有在这方面提出限制和要求,只是简单解释了几种数据存储方式的用法和用例。“交互界面”规范相信很多朋友看到这里第一个反应是: Android 有应用交互界面规范吗?遗憾的是, Android 2.3 之前的确是没有明确的应用交互界面规范。但在 Android 系统来到 4.0 之后, Google 终于意识到应用交互界面的规范化有多么的重要,因此推出了基于 Holo 主题的应用交互指导。现在,包括淘宝,人人和一众 Google 自己的应用已经依照新规范重新开发,它们看上去兼具美感和实用性。但也有一些应用刚愎自用,甚至照搬 iOS 系统上的界面。希望未来它们能够有所改变,给用户带来更好的体验。除了上文提到的 Android 应用普遍存在一些问题, Android 上的一些著名应用不守规矩的行为更是夸张,比如某款通讯录应用就会尝试将自己的短信接受优先级别设置成比系统应用还高,一度导致了 Android 防病毒程序 Dr.Web 报告病毒。某款网盘应用则关联了 Android 系统内所有可以注册的文件类型,导致用户打开任何文件时都会被询问“是否要上传到网盘?”这些问题的具体细节太过复杂,在此略过不表。总体上来说, Android 是一个自由的系统。就连 Google 官方指导也都弥漫着这种气息。它很少告诉你“要怎么做”,而是一直不停的解释“能怎么做”。比方说,应用图标的形状以及风格完全不受限制。或许 Google 认为圆角矩形的磁贴风格并不是设计师唯一的选择。Google 也没有强制开发者必须使用 Google Backup Transport 云端数据备份接口。更没有强调 Android C2DM 是应用程序接受推送数据的唯一方式。就连 Holo 主题风格也仅仅是推荐

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论