@@ -5,7 +5,7 @@ page.title=Jelly Bean Highlights for Developers
55<div id="android-4.2">
66<div style="float:right;padding:0px 0px 12px 34px;">
77<div>
8- <img src="{@docRoot}images/jb-devices .png" alt="Android 4.2 on phone and tablet" height="316 " width="400">
8+ <img src="{@docRoot}images/jb-device-2 .png" alt="Android 4.2 on phone and tablet" height="348 " width="400">
99</div>
1010</div>
1111<p>Welcome to Android 4.2, the latest version of <span
@@ -22,7 +22,7 @@ document for a detailed look at the new developer APIs.</p>
2222href="http://www.android.com/whatsnew">www.android.com</a>.</p>
2323
2424
25- <h2 id="performance ">Faster, Smoother, More Responsive</h2>
25+ <h2 id="4.2-4.2performance ">Faster, Smoother, More Responsive</h2>
2626
2727<p>Android 4.2 builds on the performance improvements already included in Jelly Bean
2828— <strong>vsync timing</strong>, <strong>triple buffering</strong>,
@@ -38,23 +38,19 @@ certain shapes (rounded rects, circles and ovals).</p>
3838of web pages smoother and free from jitter and lags.</p>
3939
4040<p>Android’s <strong>Renderscript Compute</strong> is the first computation
41- platform ported to run directly on a mobile device GPU. It now automatically
42- takes advantage of <strong>GPU computation</strong> resources wherever possible,
43- to improve performance. With this GPU integration, even the most complex
44- computations for graphics or image processing can execute with dramatically
45- improved performance.</p>
46-
47- <p>Any app using Renderscript on a supported device can benefit immediately from
48- this GPU integration, without recompiling. The Nexus 10 tablet is the first
49- device to support this integration.</p>
41+ platform ported to run directly on a <strong>mobile device GPU</strong>. It automatically
42+ takes advantage of <strong>GPU computation</strong> resources whenever possible,
43+ dramatically improving performance for graphics and image processing. Any app using
44+ Renderscript on a supported device can benefit immediately from
45+ this GPU integration <strong>without recompiling</strong>.</p>
5046
5147
5248<div style="float:left;margin:16px 24px 12px 0px;">
5349<a href="" target="_android">
5450<img src="{@docRoot}images/jb-nexus10-1.png" alt="10-inch tablet running Android 4.2" width="380" /></a>
5551</div>
5652
57- <h2 id="ui" style="margin-top:2em;">Refined, refreshed UI</h2>
53+ <h2 id="4.2- ui" style="margin-top:2em;">Refined, refreshed UI</h2>
5854
5955<p>Android 4.2 refines the Jelly Bean user experience and brings familiar
6056Android UI patterns such as status bar, system bar, and notifications window to
@@ -67,7 +63,7 @@ bottom, with buttons easily accessible from either hand. The <strong>Application
6763Tray</strong> is also available on all screen sizes.</p>
6864
6965
70- <h2 id="multiuser" style="margin-top:2em;clear:left;">One tablet, many users</h2>
66+ <h2 id="4.2- multiuser" style="margin-top:2em;clear:left;">One tablet, many users</h2>
7167
7268<p>Now several users can <strong>share a single Android tablet</strong>, with
7369each user having convenient access to a <strong>dedicated user
@@ -97,7 +93,7 @@ in a single-user environment. </p>
9793</div>
9894
9995
100- <h2 id="engagement" style="clear:left; margin-top:1em;">New ways to engage users</h2>
96+ <h2 id="4.2- engagement" style="clear:left; margin-top:1em;">New ways to engage users</h2>
10197
10298<div style="float:right;margin:22px 0px 0px 24px;width:280px;">
10399<div>
@@ -106,7 +102,7 @@ in a single-user environment. </p>
106102<p class="image-caption" style="padding:1.5em">You can extend <strong>app widgets</strong> to run on the lock screen, for instant access to your content.</p>
107103</div>
108104
109- <h3 id="lockscreen-widgets">Lock screen widgets</h3>
105+ <h3 id="4.2- lockscreen-widgets">Lock screen widgets</h3>
110106
111107<p>In Android 4.2, users can place <strong>app widgets</strong> directly on
112108their <strong>lock screens</strong>, for instant access to favorite app content
@@ -133,7 +129,7 @@ screen area when available and resize when needed on smaller screens. You can
133129also add features to your widgets that might be especially useful or convenient
134130on the lock screen.</p>
135131
136- <h3 id="daydreams">Daydream</h3>
132+ <h3 id="4.2- daydreams">Daydream</h3>
137133
138134<p>Daydream is an <strong>interactive screensaver mode</strong> that starts when
139135a user’s device is docked or charging. In this mode, the system launches a
@@ -154,9 +150,9 @@ experiences, such as leanback or exhibition mode, demo or kiosk mode, and
154150
155151<div style="float:left;margin:20px 30px 0px 0px;width:460px;">
156152<div>
157- <img src="{@docRoot}images/jb-dream-1.png" alt="Daydream screensaver mode" style="width:440px">
153+ <img src="{@docRoot}images/jb-dream-1.png" alt="Daydream screensaver mode" style="width:440px;padding-left:1em; ">
158154</div>
159- <p class="image-caption" style="padding:.5em"><span
155+ <p class="image-caption" style="padding:.5em .5em .5em 1.5em; "><span
160156style="font-weight:500;">Daydream</span> lets you create powerful interactive screensavers that display any kind of content.</p>
161157</div>
162158
@@ -172,15 +168,15 @@ components and resources that you’ve already created for other parts of your
172168app. You can provide multiple daydreams in your app and you can offer distinct
173169content and display settings for each.</p>
174170
175- <h2 id="external-display" style="clear:left;">External display support</h2>
171+ <h2 id="4.2- external-display" style="clear:left;">External display support</h2>
176172
177173<p>Android 4.2 introduces platform support for <strong>external
178174displays</strong> that goes far beyond mirroring — apps can now target
179175unique content to any one or multiple displays that are attached to an Android
180176device. Apps can build on this to deliver new kinds of interaction and
181177entertainment experiences to users.</p>
182178
183- <h3 id="display-manager">Display manager</h3>
179+ <h3 id="4.2- display-manager">Display manager</h3>
184180
185181<p>Apps interact with displays through a new display manager system service.
186182Your app can enumerate the displays and check the capabilities of each,
@@ -189,7 +185,7 @@ Your app can also receive callbacks when displays are added or removed or when
189185their capabilities change, to better manage your content on external
190186displays.</p>
191187
192- <h3 id="presentation">Presentation window</h3>
188+ <h3 id="4.2- presentation">Presentation window</h3>
193189
194190<p>To make it easy to show content on an external display, the framework
195191provides a new UI object called a <strong>Presentation</strong> — a type of dialog that
@@ -202,7 +198,7 @@ content according to the characteristics of the targeted display.</p>
202198
203199<img src="{@docRoot}images/external-display.png" alt="" width="569" style="padding-left:1em;margin-bottom:0">
204200
205- <p class="image-caption" style="padding:1.25em">You can take full use of two or more independent displays using <strong>Presentation</strong>.</p>
201+ <p class="image-caption" style="padding:1.25em">You can take full control of two or more independent displays using <strong>Presentation</strong>.</p>
206202</div>
207203</div>
208204
@@ -213,7 +209,7 @@ to create a UI and render content in the Presentation, from building an
213209arbitrary view hierarchy to using SurfaceView or SurfaceTexture to draw directly
214210into the window for streamed content or camera previews.</p>
215211
216- <h3 id="preferred display">Preferred display selection</h3>
212+ <h3 id="4.2- preferred display">Preferred display selection</h3>
217213
218214<p>When multiple external displays are available, you can create as many
219215Presentations as you need, with each one showing unique content on a specific
@@ -231,7 +227,7 @@ Presentation content on the preferred display. Your apps can also use media
231227router’s MediaRouteActionProvider and MediaRouteButton to offer standard
232228display-selection UI.</p>
233229
234- <h3 id="protected-content">Protected content</h3>
230+ <h3 id="4.2- protected-content">Protected content</h3>
235231
236232<p>For apps that handle protected or encrypted content, the display API now
237233reports the <strong>secure video capabilities</strong> of attached displays. Your app query a
@@ -241,7 +237,7 @@ make the content viewable. For additional security on SurfaceView objects, your
241237app can set a secure flag to indicate that the contents should never appear in
242238screenshots or on a non-secure display output, even when mirrored.</p>
243239
244- <h3 id="wireless-display">Wireless display</h3>
240+ <h3 id="4.2- wireless-display">Wireless display</h3>
245241
246242<p>Starting in Android 4.2, users on supported devices can connect to an
247243external display over Wi-Fi, using <a
@@ -257,7 +253,7 @@ connection and streams your Presentation or other app content to the wireless
257253display as needed.</p>
258254
259255
260- <h2 id="native-rtl">Native RTL support</h2>
256+ <h2 id="4.2- native-rtl">Native RTL support</h2>
261257
262258<div style="float:right;margin:22px 0px 0px 24px;width:340px;">
263259<div>
@@ -294,7 +290,7 @@ HierarchyViewer tool now lets you see start/end properties, layout direction,
294290text direction, and text alignment for all the Views in the hierarchy,</p>
295291
296292
297- <h2 id="intl">Enhancements for international languages</h2>
293+ <h2 id="4.2- intl">Enhancements for international languages</h2>
298294
299295<p>Android 4.2 includes a variety of <strong>font and character
300296optimizations</strong> for international users:</p>
@@ -316,9 +312,9 @@ Slovenian, Serbian, Swedish, Turkish</li>
316312</ul>
317313
318314
319- <h2 id="ui-tools">New ways to create beautiful UI</h2>
315+ <h2 id="4.2- ui-tools">New ways to create beautiful UI</h2>
320316
321- <h3 id="nested-fragments">Nested Fragments</h3>
317+ <h3 id="4.2- nested-fragments">Nested Fragments</h3>
322318
323319<p>For more control over your UI components and to make them more modular,
324320Android 4.2 lets you <strong>nest Fragments inside of Fragments</strong>. For
@@ -336,7 +332,7 @@ capability is added to the latest version of the <strong>Android Support
336332Library</strong>.</p>
337333
338334
339- <h2 id="accessibility">Accessibility</h2>
335+ <h2 id="4.2- accessibility">Accessibility</h2>
340336
341337<p>The system now helps accessibility services <strong>distinguish between touch
342338exploration and accessibility gestures</strong> while in touch-exploration mode.
@@ -357,7 +353,7 @@ as the label for another View. The label for each View is available to
357353accessibility services through AccessibilityNodeInfo.</p>
358354
359355
360- <h2 id="camera">Improved Camera with HDR</h2>
356+ <h2 id="4.2- camera">Improved Camera with HDR</h2>
361357
362358<p>Android 4.2 introduces a <strong>new camera hardware interface and
363359pipeline</strong> for improved performance. On supported devices, apps can use a
@@ -370,13 +366,13 @@ sound or choose an alternative sound in place of the standard shutter sound,
370366which is recommended.</p>
371367
372368
373- <h2 id="renderscript">Renderscript Computation</h2>
369+ <h2 id="4.2- renderscript">Renderscript Computation</h2>
374370
375371<p>In Android 4.2, Renderscript Compute introduces new scripting features, new
376372optimizations, and direct GPU integration for the highest performance in
377373computation operations.</p>
378374
379- <h3 id="filterscript">Filterscript</h3>
375+ <h3 id="4.2- filterscript">Filterscript</h3>
380376
381377<p>Filterscript is a subset of Renderscript that is focused on <strong>optimized
382378image processing across a broad range of device chipsets</strong>. Developers
@@ -390,7 +386,7 @@ fragment shaders. Because it places a relaxed set of constraints on hardware,
390386your operations are optimized and accelerated on more types of device chipsets.
391387Any app targeting API level 17 or higher can make use of Filterscript.</p>
392388
393- <h3 id="rs-intrinsics">Script intrinsics</h3>
389+ <h3 id="4.2- rs-intrinsics">Script intrinsics</h3>
394390
395391<p>In Android 4.2, Renderscript adds support for a set of script intrinsics
396392— pre-implemented <strong>filtering primitives that are
@@ -400,7 +396,7 @@ ensure that your app gets the maximum performance gain possible.</p>
400396<p>Intrinsics are available for blends, blur, color matrix, 3x3 and 5x5 convolve,
401397per-channel lookup table, and converting an Android YUV buffer to RGB.</p>
402398
403- <h3 id="rs-groups">Script groups</h3>
399+ <h3 id="4.2- rs-groups">Script groups</h3>
404400
405401<p>You can now create <strong>groups of Renderscript scripts</strong> and
406402execute them all with a single call as though they were part of a single script.
@@ -423,7 +419,7 @@ execution time, Renderscript optimizes the run order and the connections between
423419these operations for best performance.</p>
424420
425421
426- <h3 id="rs-optimization">Ongoing optimization improvements</h3>
422+ <h3 id="4.2- rs-optimization">Ongoing optimization improvements</h3>
427423
428424<p>When you use Renderscript for computation operations, you apps benefit from
429425<strong>ongoing performance and optimization improvements</strong> in the
@@ -435,19 +431,19 @@ chipsets, without any work on your part. The chart at right highlights
435431the performance gain delivered by ongoing Renderscript optimization improvements
436432across successive versions of the Android platform.</p>
437433
438- <h3 id="gpu-compute">GPU Compute</h3>
434+ <h3 id="4.2- gpu-compute">GPU Compute</h3>
439435
440- <p>Renderscript Compute is ported to run directly on a mobile device GPU. It now
436+ <p>Renderscript Compute is the first computation platform ported to run directly on a mobile device GPU. It now
441437automatically takes advantage of <strong>GPU computation</strong> resources
442- wherever possible to improve performance. With GPU integration, even the most
438+ whenver possible to improve performance. With GPU integration, even the most
443439complex computations for graphics or image processing can execute with
444440dramatically improved performance.</p>
445441
446442<p>Any app using Renderscript on a supported device can benefit immediately from
447443this GPU integration, without recompiling. The Nexus 10 tablet is the first
448444device to support this integration.</p>
449445
450- <h2 id="dev-options" style="clear:right;margin-top:1em;">New built-in developer options</h2>
446+ <h2 id="4.2- dev-options" style="clear:right;margin-top:1em;">New built-in developer options</h2>
451447
452448<p>The Android 4.2 system includes a variety of new developer options that make
453449it easier to create great looking apps that perform well. The new options expose
@@ -493,14 +489,14 @@ display. You can control the simulated display’s size and density.</li>
493489execution using Logcat, Systrace, or callstack on glGetError.</li>
494490</ul>
495491
496- <h2 id="platform-tech" style="padding-top:1em;clear:left;">New Platform Technologies</h2>
492+ <h2 id="4.2- platform-tech" style="padding-top:1em;clear:left;">New Platform Technologies</h2>
497493
498494<p>Android 4.2 includes a variety of new and <strong>enhanced platform technologies</strong> to
499495support innovative communications use-cases across a broad range of hardware
500496devices. In most cases, the new platform technologies and enhancements do not directly
501497affect your apps, so you can benefit from them without any modification.</p>
502498
503- <h3 id="security">Security enhancements</h3>
499+ <h3 id="4.2- security">Security enhancements</h3>
504500
505501<p>Every Android release includes dozens of security enhancements to protect
506502users. Here are some of the enhancements in Android 4.2:</p>
@@ -550,14 +546,14 @@ available in Android Open Source Project. To improve security, some devices
550546with earlier versions of Android may also include these fixes.</li>
551547</ul>
552548
553- <h3 id="bt-stack">New Bluetooth stack</h3>
549+ <h3 id="4.2- bt-stack">New Bluetooth stack</h3>
554550
555551Android 4.2 introduces a new Bluetooth stack optimized for use with Android
556552devices. The new Bluetooth stack developed in collaboration between Google and
557553Broadcom replaces the stack based on BlueZ and provides improved compatibility
558554and reliability.
559555
560- <h3 id="audio">Low-latency audio</h3>
556+ <h3 id="4.2- audio">Low-latency audio</h3>
561557
562558<p>Android 4.2 improves support for low-latency audio playback, starting from the
563559improvements made in Android 4.1 release for audio output latency using OpenSL
@@ -567,20 +563,20 @@ advertise their support to apps through a hardware feature constant. New
567563AudioManager APIs are provided to query the native audio sample rate and buffer
568564size, for use on devices which claim this feature.</p>
569565
570- <h3 id="camera-interface">New camera hardware interface</h3>
566+ <h3 id="4.2- camera-interface">New camera hardware interface</h3>
571567
572568Android 4.2 introduces a new implementation of the camera stack. The camera
573569subsystem includes the implementations for components in the camera pipeline
574570such as burst mode capture with processing controls.
575571
576- <h3 id="nfc-interface">New NFC hardware interface and controller interface</h3>
572+ <h3 id="4.2- nfc-interface">New NFC hardware interface and controller interface</h3>
577573
578574Android 4.2 introduces support for controllers based on the NCI standard from
579575the NFC-Forum. NCI provides a standard communication protocol between an NFC
580576Controller (NFCC) and a device Host, and the new NFC stack developed in
581577collaboration between Google and Broadcom supports it.
582578
583- <h3 id="dalvik">Dalvik runtime optimizations</h3>
579+ <h3 id="4.2- dalvik">Dalvik runtime optimizations</h3>
584580
585581<p>The Dalvik runtime includes enhancements for performance and security across
586582a wider range of architectures:</p>
0 commit comments