Android Software Platform Development at Fujitsu
Total Page:16
File Type:pdf, Size:1020Kb
Android Software Platform Development at Fujitsu Makoto Honda Makoto Kobayashi Masahiko Nagumo Yasuhiro Kawakatsu Smartphones using the Android platform first appeared on the market in October 2008. They have since overtaken Apple’s iPhone—the first entry in the smartphone market—in number of units shipped and have helped to bring about major changes in the way that mobile phones are used. Android was developed and is distributed as open source software that a device maker integrates into its own hardware after adding original software technologies. The Android platform evolves in short cycles on the basis of software and hardware developments as the network infrastructure continues to expand in the form of WiMAX and LTE and as usage scenarios and services become increasingly diverse. Fujitsu has been developing Android smartphones with compelling functions and enhanced convenience since December 2010, when it released the REGZA Phone T-01C featuring a water-resistant enclosure, one-seg support, and FeliCa contactless IC card and infrared-communication functions. This paper describes Fujitsu’s approach to smartphone development, focusing on memory management and current-con- sumption management as important elements in the system design of the Android software platform, diverse manner modes for enhancing user convenience, high-picture-quality technol- ogy achieved by using the Mobile REGZA Engine, and audio-visual device-linking technology based on DLNA standards. 1. Introduction and Internet services, the smartphone market share of November 2007 marked the establishment of the Android devices continued to grow, and in fiscal 2011, Open Handset Alliance (OHA) centered about Google it came to exceed 50%. and other firms, accompanied by the announcement by This onslaught of an open software platform OHA of the Android open software platform. Developed also brought about major changes in the work of de- for mobile devices such as smartphones and tablet veloping conventional mobile phones (i.e., “feature computers, the Android software platform runs on the phones”). Although a massive amount of source code Linux operating system. Only one year later, in October (about 23 million lines including those for Linux) was 2008, the “HTC Dream” developed by HTC Corporation, released as open source and a board support package a Taiwanese firm, was released by T-Mobile in North (BSP) for software-porting purposes was provided by America as the first phone product to use the Android the chipset vendor, each device maker had to acquire platform. This was one year and four months after the technical skills needed to make the best use of the appearance of Apple’s first iPhone, which took this platform, which was still a semi-finished prod- the mobile phone market by storm and launched the uct with little in the way of technical documentation. worldwide shift to smartphones. Early Android devices Moreover, not only was Android undergoing either did not measure up to Microsoft’s Windows Phone or minor or major version upgrades every half-year or Apple’s iPhone in terms of specifications, but thanks to so, the device-related requirements were steadily the open-source nature of Android software and ease increasing. The HTC Dream that made its market debut of programming on the Android platform as well as in October 2008 was equipped with a single CPU having the evolution of Google Play (Google’s marketplace) an operating frequency of 528 MHz, but in three years 238 FUJITSU Sci. Tech. J., Vol. 49, No. 2, pp. 238–244 (April 2013) M. Honda et al.: Android Software Platform Development at Fujitsu time, Android products would come to feature a 1-GHz- Android software platform development, focusing on class, dual-core CPU, four or five times the amount of memory management and power-saving measures memory (1 GB random access memory [RAM]), and in system design, an eco function and manner modes six times the display resolution (high-definition [HD] implemented in the application framework, and high- class), as shown in Figure 1. Battery capacity, on the picture-quality technology and AV-device-linking other hand, was increased by only 1.5 times for reasons technology in multimedia design. of weight and portability. Power-saving measures are therefore an important issue in Android devices, and 2. System platform technologies it has become necessary to enable switching between In feature phone development, the device maker operating modes in accordance with the usage scenario handles total system design, from hardware to ap- without sacrificing performance and to provide power- plications, taking into account stability, consistency, saving functions that the user can customize. Device performance, and marketability requirements. In makers must therefore develop stable and high-quality smartphone development, however, the applications products in pace with the evolution of the Android soft- developed and installed by the device maker make up ware platform while incorporating original technology only a portion of the applications since most smart- and user-friendly features. phone applications are developed by third parties In December 2010, Fujitsu released the REGZA and are installed by the user after the smartphone Phone T-01C featuring a water-resistant enclosure, purchase. What this means is that a device maker de- one-seg support, and FeliCa contactless IC card and veloping a smartphone must design the system so that infrared-communication functions. Fujitsu has since it will operate stably for the diverse types of applica- been working to improve the usability and performance tions that might be installed by the user. of its Android smartphones by various means, such Important issues in system design include as by making the human-centric functions developed stability, performance, power saving, operability, com- and enhanced for feature phones compatible with patibility, security, and exception processing. Here we smartphones, improving the user interface (UI), adopt- describe memory management, which greatly affects ing a dual-core CPU, supporting Long Term Evolution system stability, and current-consumption manage- (LTE), Worldwide Interoperability for Microwave Access ment, which affects battery life. (WiMAX), and Digital Living Network Alliance (DLNA) standards, and developing functions for linking to 2.1 Memory management audio-visual (AV) devices. Total memory size for program execution (i.e., In this paper, we introduce Fujitsu’s approach to RAM), the amount of memory used by the system (“al- located memory”), and the amount available to the user (“available memory”) are shown in Figure 2 for 7 five Fujitsu-developed devices: REGZA Phone T-01C (re- 6 Display resolution leased December 2010), F-12C (released August 2011), 5 CPU operating frequency 4 Memory capacity (RAM) 1200 3 1000 800 Available memory 2 Allocated memory Battery capacity 600 1 400 200 0 memory (MB) size Program-execution Performance improvement ratio HTC Dream Nexus One Nexus S Galaxy Nexus 0 Single core Single core Single core Dual core Android 2.1 Android 2.3 Android 2.3 Android 2.3 Android 4.0 Android 1.6 Android 2.1 Android 2.3 Android 4.0 REGZA Phone F-12C ARROWS µ ARROWS X LTE REGZA Phone October 2008 January 2010 December 2010 November 2011 T-01C F-07D F-05D T-02D Figure 1 Figure 2 Performance improvement of Android reference devices. Memory available to user immediately after device startup. Figure1 Figure 2 FUJITSUPerformance Sci. Tech. J., Vol. 49, improvement No. 2 (April 2013) of Memory available to user immediately 239 Android reference terminals. after terminal startup M. Honda et al.: Android Software Platform Development at Fujitsu ARROWS μ F-07D (released January 2012), ARROWS Dalvik heap size X LTE F-05D (released December 2011) and REGZA (GrowthLimit) Phone T-02D (released July 2012). The total memory Application RAM size limit size reached 1 GB in the F-05D model, and it remained 1 GB in the T-02D model. However, the amount avail- Suppress invocation of able to the user actually decreased. There are a variety OOMK by balancing settings of reasons for this. In addition to the fact that the MAX_HIDDEN_APPS LMK threshold amount of memory used by the Android system has am_killer been increasing with almost every version upgrade, the Invoke when available Invoke on basis of number of applications amount of memory needed by applications at run-time memory is low running in background has been increasing owing to improvements in display resolution and system performance. Moreover, the Out Of Memory Killer (OOMK) number of simultaneously running applications has Invoke when memory been increasing. allocation fails Android provides a mechanism called “low memory killer” (LMK) for efficiently reallocating pro- Figure 3 MemoryFigure management 3 parameters for process execution in gram-execution memory when the amount available Android. becomes low. It works by releasing and reallocating Memory management parameters unneeded allocated memory areas depending on the for process execution in Android. execution environment. This makes it possible for GrowthLimit. The larger the execution memory per ap- the user to not only use the available memory shown plication, the smaller the number of applications that in Figure 2 but also to use a portion of the already can run at the same time. Additionally, an application allocated memory. Since total program-execution that uses an amount of memory exceeding GrowthLimit memory is limited, however, it is desirable that as cannot be launched. many unneeded allocated memory areas as possible 3) MAX_HIDDEN_APPS be released and made available. This parameter is used for defining the maximum Android provides three parameters for managing number of applications running in the background. It program-execution memory: LMK threshold, Dalvik is used to limit the number of launched applications. If heap size, and MAX_HIDDEN_APPS (Figure 3). These the number specified by MAX_HIDDEN_APPS is about to are summarized below. be exceeded, a system process called am_killer releases 1) LMK threshold unnecessary background applications.