《Android开发秘籍(第2版)》——第1.3节运行Android的设备

简介:

本节书摘来自异步社区《Android开发秘籍(第2版)》一书中的第1章,第1.3节运行Android的设备,作者 【美】Ronan Schwarz , Phil Dutson , James Steele , Nelson To,更多章节内容可以访问云栖社区“异步社区”公众号查看

1.3 运行Android的设备
Android开发秘籍(第2版)
全世界有种类数以百计的Android设备和为数众多的制造商,设备包括电话、平板电脑、电视、车载音响、运动器械及其他辅助设备。软件可通过android.os.Build来获取目标设备信息,例如:

if(android.os.Build.MODEL.equals("Nexus+One")) { ... }

所有Android支持的硬件由于操作系统的一些自然属性而具有一些共同点。Android系统由下列镜像文件(image)组成。

Bootloader(引导加载程序):在启动时对引导镜像(boot image)的加载过程进行初始化。
Boot image(引导镜像):内核(kernel)和内存虚拟盘(RAMDisk)。
System image(系统镜像):Android系统平台及应用程序。
Data image(数据镜像):在断电期间依然保存着的用户数据。
Recovery image(恢复镜像):重建或升级系统所用的文件。
Radio image(射频镜像):射频协议栈文件。
这些镜像被保存在非易失性闪存中,所以在设备断电期间仍然被保存。这块闪存被用作只读存储器(read-only memory,ROM),但它在必要时可以被改写(例如,对Android系统进行在线更新时)。

启动时,微处理器执行引导加载程序将内核和内存虚拟盘载入内存,以实现快速存取。接下来,微处理器执行一些指令,将系统镜像和数据镜像部分按需装载为内存页面。射频镜像常驻在基带处理器(baseband processor)中,后者则与射频硬件连接。

表1-1比较了一些早期的和新近的智能手机机型。通过比较可以看出,这些设备负责运算处理的硬件架构是相似的:一个微处理器单元(MPU)、同步动态随机存取存储器(SDRAM,简称RAM),以及闪存(简称ROM)。屏幕大小用像素(pixel)表示,而每英寸点数(dpi)这一指标则取决于屏幕的物理尺寸。例如,HTC Magic机型屏幕对角线长为3.2英寸,分辨率则为320×480像素,相当于每英寸180像素,在Android的分类中属于中等像素密度的设备(平均水平为160 dpi)。所有智能手机还都提供CMOS图像传感器摄像头、蓝牙(BT)、Wi-Fi(802.11)等,不过规格各异。


51057d5850e0c9e8bdc2f84309eb45e9cdde14c0

新机型除容量和性能有所提升外,还有区别于旧机型的若干新特性。一些设备支持4G,另一些则有调频收音机(FM)或额外的蜂窝式无线电台(cellular radio)、视频输出(通过HDMI或micro-USB接口),以及前置摄像头等。了解这些差别可以帮助开发者创建出色的应用。在内置硬件之外,许多Android设备还带有Micro Secure Digital(microSD)卡槽。

microSD卡可提供附加的存储空间,用于存储多媒体或额外的应用数据。不过在Android 2.2或更早的版本中,应用本身只能被存储在内部ROM里。

1.3.1 HTC系列机型
HTC是一家成立于1997年的台湾公司。HTC Dream(也被称为G1,其中的G代表Google)是运行Android系统的首款商用硬件,它发布于2008年10月。从那以后,HTC已经推出了超过20种运行Android系统的手机,包括Google的Nexus One、EVO 3D和One X+。

Nexus One是最先使用1 GHz微处理器的Android设备之一,这款微处理器为高通(Qualcom)公司的Snapdragon平台产品。Snapdragon内含高通自己生产的核心,而非ARM核心;还包含解码720p高清视频的电路。随后的大多数智能手机也都采用了1 GHz微处理器。Nexus One机型的其他特征包括:使用双麦克风以在通话时降低背景噪音,以及能根据不同的系统通知(notification)呈现不同颜色的背光轨迹球等。

HTC EVO 4G于2010年6月发布,作为第一款支持WiMAX(802.16e-2005)的商用机型,在当时引起了不小的轰动。HTC还在2011年8月发布了EVO 3D机型,它与EVO 4G大体相似,但别具一格之处在于可以脱离3D眼镜来呈现3D效果。此外它还拥有两个后置摄像头,可以录制720p的3D视频。

1.3.2 摩托罗拉系列机型
摩托罗拉(Motorola)推出过将近十种不同标牌的Android机型。摩托罗拉Droid X拥有与HTC Droid Incredible机型近似的性能,包括高清视频摄制等。2011年Google收购了摩托罗拉移动部门,力图在市场层面对Android加以提升,推动创新进程,并利用摩托罗拉移动的专利布局保护Android的“生态系统”。

摩托罗拉开发的Droid RAZR MAXX和RAZR MAXX HD两款手机具有超乎寻常的电池寿命,还兼具相对苗条的外形。

1.3.3 三星系列机型
三星(Samsung)是移动市场的一支强势力量,且如今已是Android设备的第一大制造商。2012年的第4季度销售的全部Android设备中,三星所占份额高达42%。如今市场上最流行的三星手机要属Galaxy Note 2和Galaxy S3,此二者均支持蓝牙4.0、近场通信(NFC)及三星独有的S Beam和AllShare等特性。

三星Galaxy Nexus是第一款基于Android 4.2的手机,并且是最先内嵌NFC模块的机型之一。三星还是最早推出试图弥合手机和平板电脑之间鸿沟的智能机型的厂商。Galaxy Note和Galaxy Note 2的屏幕要大于5英寸,因此有人将这类手机称做“phablet1”。

1.3.4 平板电脑
在苹果公司推出iPad之后,人们期望Android制造商也能推出自己的平板电脑。平板电脑可被粗略地定义为拥有4.8英寸或更大尺寸的屏幕以及Wi-Fi连接的设备。由于许多平板电脑都支持3G无线服务,它们感觉更像是大屏幕的智能手机。

2009年年底,爱可视(Archos)成为最早将Android平板电脑投向市场的厂商之一。最初的型号拥有对角线长4.8英寸的屏幕,并被称为Archos 5。此后,Archos系列又涌现出了屏幕尺寸在7英寸~10英寸间的若干新机型。有的机型配备了真正的硬盘驱动器,有些则采用闪存来存储信息。三星也推出了屏幕尺寸在7英寸~10.1英寸间的多款平板电脑。

亚马逊(Amazon)则推出了Kindle Fire系列,包括4种不同款式。这些平板电脑屏幕尺寸从7英寸~8.9英寸不等,处理器有单核也有双核。它们均运行在一种Android的修改版系统之上,该系统可与Amazon Appstore及Amazon MP3、Amazon Video等连接。

Google还与华硕(Asus)合作发布了Nexus 7,这是一款运行在Android 4.2.1系统上7英寸平板电脑。没过多久,Google又与三星合作制造了Nexus 10。Nexus 10是第一款分辨率高达2560×1600的平板电脑,从而可与支持retina技术的MacBook Pro电脑以及较新的全尺寸iPad相媲美。表1-2给出了几种不同型号的Android平板电脑的对比。


272e89b483c33b700e405821d0f551347f54d287

1.3.5 其他设备
既然Android是一种通用型嵌入式平台,那么除智能手机和平板电脑外,它也能应用于其他地方。第一辆基于Android的汽车荣威(Roewe)350由上海汽车工业集团生产。Android主要发挥GPS导航功能,同时也支持上网浏览。

萨博(Saab)公司也推出运行在Android平台上的、名为IQon的信息及娱乐系统。该系统能向驾驶员提供关于引擎工作负荷、时速、转矩等机械数据的实时反馈。它通过一个触屏式并支持3G或4G数据连接的8英寸嵌入式控制台来显示这些信息。而某些信息的获取需要通过给汽车的引擎控制单元(ECU)安装一个售后零件(aftermarket part)来实现。这种将Android直接植入ECU的创意是有趣而激动人心的。

Android还被移植进了一些新颖刺激的平台,比如手表和OUYA主机。Pebble手表是Kickstarter上的一个项目,力图制造可以与Android和iOS设备通信的手表。它可以通过使用某个Android设备的软件开发工具包(SDK)对其进行访问,并通过蓝牙通信显示呼叫者ID、当前时间、接收到的短信息、邮件提醒等。OUYA主机是将Android系统运用到极致的一个出色案例,它是一款专用于Android游戏的主机(与PlayStation及Xbox系列主机类似)。尽管这一新生事物在本书写作时还未向公众发布,但OUYA已经承诺每年将推出廉价而又前沿的硬件装备。

1phablet为英文单词phone(手机)和tablet(平板电脑)的结合体。——译者注

相关文章
|
13小时前
|
Android开发 Kotlin
Kotlin开发Android之基础问题记录
Kotlin开发Android之基础问题记录
6 1
|
14小时前
|
Android开发
Android 设备清理内存 RAM
Android 设备清理内存 RAM
5 0
|
14小时前
|
Java Linux API
统计android设备的网络数据使用量
统计android设备的网络数据使用量
9 0
|
1天前
|
Android开发
Android 盒子开发过程中遇到的问题及解决方法
Android 盒子开发过程中遇到的问题及解决方法
7 2
|
1天前
|
Android开发
通过反射方式获取Android设备系统属性
通过反射方式获取Android设备系统属性
10 2
|
1天前
|
机器学习/深度学习 算法 Android开发
安卓应用开发:打造高效通知管理系统
【5月更文挑战第6天】 在现代移动应用的海洋中,用户经常面临信息过载的挑战。一个精心设计的通知管理系统对于提升用户体验至关重要。本文将探讨在安卓平台上如何实现一个高效的通知管理系统,包括最佳实践、系统架构设计以及性能优化技巧。通过分析安卓通知渠道和优先级设置,我们的目标是帮助开发者构建出既能吸引用户注意,又不会引发干扰的智能通知系统。
13 2
|
2天前
|
安全 Linux Android开发
FFmpeg开发笔记(十六)Linux交叉编译Android的OpenSSL库
该文介绍了如何在Linux服务器上交叉编译Android的FFmpeg库以支持HTTPS视频播放。首先,从GitHub下载openssl源码,解压后通过编译脚本`build_openssl.sh`生成64位静态库。接着,更新环境变量加载openssl,并编辑FFmpeg配置脚本`config_ffmpeg_openssl.sh`启用openssl支持。然后,编译安装FFmpeg。最后,将编译好的库文件导入App工程的相应目录,修改视频链接为HTTPS,App即可播放HTTPS在线视频。
FFmpeg开发笔记(十六)Linux交叉编译Android的OpenSSL库
|
4天前
|
存储 安全 Android开发
安卓应用开发:构建一个高效的用户登录系统
【5月更文挑战第3天】在移动应用开发中,用户登录系统的设计与实现是至关重要的一环。对于安卓平台而言,一个高效、安全且用户体验友好的登录系统能够显著提升应用的用户留存率和市场竞争力。本文将探讨在安卓平台上实现用户登录系统的最佳实践,包括对最新身份验证技术的应用、安全性考量以及性能优化策略。
|
7天前
|
存储 Java Android开发
安卓应用开发中的内存优化策略
【4月更文挑战第30天】在移动开发领域,尤其是安卓平台上,内存管理是影响应用性能和用户体验的关键因素。由于安卓设备的硬件资源有限,不合理的内存使用会导致应用响应缓慢、消耗过多电量甚至崩溃。本文将探讨针对安卓平台的内存优化技巧,旨在帮助开发者提高应用的性能和稳定性,从而提升用户满意度。我们将详细讨论内存泄漏的预防、合理的内存分配策略以及高效的内存回收方法。
|
7天前
|
前端开发 Android开发 iOS开发
【Flutter前端技术开发专栏】Flutter在Android与iOS上的性能对比
【4月更文挑战第30天】Flutter 框架实现跨平台移动应用,通过一致的 UI 渲染(Skia 引擎)、热重载功能和响应式框架提高开发效率和用户体验。然而,Android 和 iOS 的系统差异、渲染机制及编译过程影响性能。性能对比显示,iOS 可能因硬件优化提供更流畅体验,而 Android 更具灵活性和广泛硬件支持。开发者可采用代码、资源优化和特定平台优化策略,利用性能分析工具提升应用性能。
【Flutter前端技术开发专栏】Flutter在Android与iOS上的性能对比