龙源期刊网
http://www.qikan.com.cn
双屏异显在
Android
系统上的实现
作者:康金荣
彭宏利
来源:《软件导刊》
2016
年第
12
期
摘
要:提出了一种在
ARM/Android
平台上实现双屏异显功能的方法。所谓双屏异显,即
在同一软硬件平台上,实现同时驱动两块
LCD
屏幕,并且这两块屏幕所显示的内容可以不
同。这种功能的实现一方面降低了硬件设备成本,另一方面对于提高消费场景的交互性具有重
要意义。
关键词:
Android
;
POS
;双屏异显;
LCD
;消费场景
DOIDOI
:
10.11907/rjdk.162114
中图分类号:
TP319
文献标识码:
A
文章编号:
1672-7800
(
2016
)
012-0118-03
0
引言
近年来,随着
ARM SOC
与
Android
生态组合的快速发展,其应用已经从智能移动终端
(如智能手机、平板电脑等消费电子领域)渗透到各行各业。但受制于芯片体系结构和操作系
统架构设计,在
Android
平台上,通常只能实现同步双屏的一些应用,如基于智能手机的显示
器应用或者基于平板电脑的投影仪应用。在这样的应用中,大屏只能作为小屏的延伸,两块不
同的屏上只能显示相同的内容,专业上可称为同步双显或称双屏同显技术。但在现实应用场景
中,双屏异显功能更能满足人们的需要。
本文提出了一种在
Android
平台上实现双屏异显的方案。该方案以瑞芯微公司推出的
RK3288
芯片为硬件平台,以
Android
为移动操作系统,通过开发的
APP
实现双屏异显功能。
1
实现原理
Android
框架中与显示相关的组件主要有
Activity
、
Windows
、
WindowState
、
Windows
Manager Service
、
Display Manager Service
、
Surface Manager/Surface Flinger
、
Display HAL
(
Hardware Abstraction Layer
)以及
Linux Kernel
中显示方面的驱动等。
Android
平台的显示框
架如图
1
所示。
各层模块功能说明如下
[1-2]
:①
Activity
:应用程序的主要生命周期载体,显示过程中的
内容提供者;②
Windows
:窗体组件为应用显示的载体组件,应用的界面交互将全部通过窗体
组件呈现;③
WindowState
:窗体组件的实例,用于窗体状态运营和各属性的组成传递;
④
Windows Manager Service
:窗口管理服务是
Android
系统整个运行状态中所有应用窗体的各