Docs: Loose ends from release of Performance and Power docs, 2nd iteration.
Change-Id: I09fe9f0554ebaff6e0a4852a8d48d971ce8a3cee
This commit is contained in:
@@ -842,6 +842,10 @@ redirects:
|
||||
to: /topic/performance/power/network/gather-data.html
|
||||
- from: /training/performance/battery/network/index.html
|
||||
to: /topic/performance/power/network/index.html
|
||||
- from: /training/articles/memory.html
|
||||
to: /topic/performance/memory.html
|
||||
- from: /topic/performance/optimizing-view-hierarchies.html
|
||||
to: /topic/performance/rendering/optimizing-view-hierarchies.html
|
||||
|
||||
# Redirects for the new [dac]/topic/libraries/ area
|
||||
|
||||
|
||||
@@ -8,16 +8,18 @@ toc:
|
||||
- title: Network Use and Battery Consumption
|
||||
path: /topic/performance/power/network/index.html
|
||||
section:
|
||||
- title: Collecting Network Traffic Data
|
||||
path: /topic/performance/power/network/gather-data.html
|
||||
- title: Analyzing Data Traffic
|
||||
path: /topic/performance/power/network/analyze-data.html
|
||||
- title: Optimizing User-Initiated Network Use
|
||||
path: /topic/performance/power/network/action-user-traffic.html
|
||||
- title: Optimizing App-Initiated Network Use
|
||||
path: topic/performance/power/network/action-app-traffic.html
|
||||
- title: Optimizing Server-Initiated Network Use
|
||||
path: /topic/performance/power/network/action-server-traffic.html
|
||||
- title: Optimizing General Network Use
|
||||
path: /topic/performance/power/network/action-any-traffic.html
|
||||
- title: Smaller Network Resources
|
||||
path: /topic/performance/power/smaller-resources.html
|
||||
- title: Doze and App Standby
|
||||
path: /training/monitoring-device-state/doze-standby.html
|
||||
path_attributes:
|
||||
@@ -25,21 +27,35 @@ toc:
|
||||
value: Help ensure the device isn't depleting the battery when not in use.
|
||||
- title: Battery Historian
|
||||
path: /topic/performance/power/battery-historian.html
|
||||
- title: Reducing Overdraw
|
||||
path: /topic/performance/overdraw.html
|
||||
- title: Using the Profile GPU Tool
|
||||
path: /topic/performance/profile-gpu.html
|
||||
- title: Rendering
|
||||
path: /topic/performance/rendering/index.html
|
||||
path_attributes:
|
||||
- name: description
|
||||
value: Speed up your app's rendering
|
||||
section:
|
||||
- title: Reducing Overdraw
|
||||
path: /topic/performance/rendering/overdraw.html
|
||||
- title: Optimizing View Hierarchies
|
||||
path: /topic/performance/rendering/optimizing-view-hierarchies.html
|
||||
- title: Using the Profile GPU Tool
|
||||
path: /topic/performance/rendering/profile-gpu.html
|
||||
- title: Intelligent Job-Scheduling
|
||||
path: /topic/performance/scheduling.html
|
||||
- title: Background Optimization
|
||||
path: /topic/performance/background-optimization.html
|
||||
- title: Reducing APK Size
|
||||
path: /topic/performance/reduce-apk-size.html
|
||||
- title: Reducing Image Download Sizes
|
||||
path: /topic/performance/network-xfer.html
|
||||
- title: Launch-Time Performance
|
||||
path: /topic/performance/launch-time.html
|
||||
- title: Better Performance through Threading
|
||||
path: /topic/performance/threads.html
|
||||
- title: Optimizing View Hierarchies
|
||||
path: /topic/performance/optimizing-view-hierarchies.html
|
||||
- title: Background Optimization
|
||||
path: /topic/performance/background-optimization.html
|
||||
- title: Reducing APK Size
|
||||
path: /topic/performance/reduce-apk-size.html
|
||||
- title: Manage Your App's Memory
|
||||
path: /topic/performance/memory.html
|
||||
- title: Overview of Memory Managemement
|
||||
path: /topic/performance/memory-overview.html
|
||||
path_attributes:
|
||||
- name: description
|
||||
value: How to keep your app's memory footprint small in order to improve performance on a variety of mobile devices.
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
page.title=Performance
|
||||
page.title=Performance and Power
|
||||
page.article=true
|
||||
page.metaDescription=Improve your app's performance by learning how to optimize power consumption, launch times, and other important areas of performance.
|
||||
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
page.title=Overview of Android Memory Management
|
||||
page.tags=ram,memory,paging,mmap
|
||||
page.article=true
|
||||
|
||||
@jd:body
|
||||
|
||||
|
||||
<div id="tb-wrapper">
|
||||
<div id="tb">
|
||||
<div id="qv-wrapper">
|
||||
<div id="qv">
|
||||
|
||||
<h2>In this document</h2>
|
||||
<ol class="nolist">
|
||||
@@ -286,4 +285,4 @@ page.article=true
|
||||
can be killed, see the
|
||||
<a href="{@docRoot}guide/components/processes-and-threads.html">Processes and Threads</a>
|
||||
guide.
|
||||
</p>
|
||||
</p>
|
||||
@@ -1,36 +1,35 @@
|
||||
page.title=Manage Your App's Memory
|
||||
page.tags=ram,low memory,OutOfMemoryError,onTrimMemory
|
||||
page.article=true
|
||||
|
||||
@jd:body
|
||||
|
||||
|
||||
<div id="tb-wrapper">
|
||||
<div id="tb">
|
||||
<div id="qv-wrapper">
|
||||
<div id="qv">
|
||||
|
||||
<h2>In this document</h2>
|
||||
<ol class="nolist">
|
||||
<ol>
|
||||
<li><a href="#monitor">Monitor Available Memory and Memory Usage</a>
|
||||
<ol>
|
||||
<ul>
|
||||
<li><a href="#AnalyzeRam">Tools for analyzing RAM usage</a></li>
|
||||
<li><a href="#release">Release memory in response to events</a></li>
|
||||
<li><a href="#CheckHowMuchMemory">Check how much memory you should use</a></li>
|
||||
</ol>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#code">Use More Efficient Code Constructst</a>
|
||||
<ol>
|
||||
<li><a href="#code">Use More Efficient Code Constructs</a>
|
||||
<ul>
|
||||
<li><a href="#Services">Use services sparingly</a></li>
|
||||
<li><a href="#DataContainers">Use optimized data containers</a></li>
|
||||
<li><a href="#Abstractions">Be careful with code abstractions</a></li>
|
||||
<li><a href="#NanoProto">Use nano protobufs for serialized data</a></li>
|
||||
<li><a href="#churn">Avoid memory churn</a></li>
|
||||
</ol>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#remove">Remove Memory-Intensive Resources and Libraries</a>
|
||||
<ol>
|
||||
<ul>
|
||||
<li><a href="#reduce">Reduce overall APK size</a></li>
|
||||
<li><a href="#DependencyInjection">Avoid dependency injection frameworks</a></li>
|
||||
<li><a href="#ExternalLibs">Be careful about using external libraries</a></li>
|
||||
</ol>
|
||||
</ul>
|
||||
</li>
|
||||
</ol>
|
||||
<h2>See Also</h2>
|
||||
@@ -365,8 +364,8 @@ private ActivityManager.MemoryInfo getAvailableMemory() {
|
||||
You should generally avoid use of persistent services because of
|
||||
the on-going demands they place on available memory. Instead, we
|
||||
recommend that you use an alternative implementation
|
||||
such as {@llink android.app.job.JobScheduler}. For more information about
|
||||
how to use {@llink android.app.job.JobScheduler} to schedule background
|
||||
such as {@link android.app.job.JobScheduler}. For more information about
|
||||
how to use {@link android.app.job.JobScheduler} to schedule background
|
||||
processes, see
|
||||
<a href="/topic/performance/background-optimization.html">Background Optimizations</a>.
|
||||
<p>
|
||||
60
docs/html/topic/performance/rendering/index.jd
Normal file
60
docs/html/topic/performance/rendering/index.jd
Normal file
@@ -0,0 +1,60 @@
|
||||
page.title=Rendering
|
||||
page.article=true
|
||||
|
||||
page.tags=battery
|
||||
page.metaDescription=Learn how to optimize your app's rendering performance.
|
||||
|
||||
@jd:body
|
||||
|
||||
|
||||
<iframe width="448" height="252"
|
||||
src="//www.youtube.com/embed/wIy8g8yNhNk?autohide=1&showinfo=0"
|
||||
frameborder="0" allowfullscreen=""
|
||||
style="float: right; margin: 0 0 20px 20px;"></iframe>
|
||||
|
||||
<p>
|
||||
A key aspect of your app that influences your users' perception of quality is
|
||||
the smoothness with which it renders images and text to the screen. It is
|
||||
important to avoid jank and sluggish responsiveness when your app is drawing
|
||||
to the screen.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
This section helps you learn several ways to optimize your app's rendering
|
||||
performance: reducing overdraw, optimizing view hierarchies, and taking
|
||||
advantage of the Profile GPU tool.
|
||||
</p>
|
||||
|
||||
<h2>Rendering Actions</h2>
|
||||
|
||||
<dl>
|
||||
<dt>
|
||||
<strong><a href="overdraw.html">
|
||||
Reducing Overdraw</a></strong>
|
||||
</dt>
|
||||
<dd>
|
||||
Minimize the number of times you app redraws the same pixel in a single
|
||||
frame.
|
||||
</dd>
|
||||
|
||||
<dt>
|
||||
<strong><a href="profile-gpu.html">
|
||||
Optimizing View Hierarchies</a></strong>
|
||||
</dt>
|
||||
<dd>
|
||||
Make sure your layout and measurement are executing efficiently, and
|
||||
avoid double taxation.
|
||||
</dd>
|
||||
|
||||
|
||||
<dt>
|
||||
<strong><a href="profile-gpu.html">
|
||||
Using the Profile GPU Tool</a></strong>
|
||||
</dt>
|
||||
<dd>
|
||||
Take advantage of this on-device tool to identify bottlenecks that
|
||||
may be slowing your app's rendering down.
|
||||
</dd>
|
||||
|
||||
|
||||
</dl>
|
||||
@@ -1242,15 +1242,9 @@ toc:
|
||||
path: /training/scheduling/wakelock.html
|
||||
- title: Scheduling Repeating Alarms
|
||||
path: /training/scheduling/alarms.html
|
||||
|
||||
- title: Best Practices for Performance
|
||||
path: /training/best-performance.html
|
||||
section:
|
||||
- title: Managing Your App's Memory
|
||||
path: /training/articles/memory.html
|
||||
path_attributes:
|
||||
- name: description
|
||||
value: How to keep your app's memory footprint small in order to improve performance on a variety of mobile devices.
|
||||
- title: Performance Tips
|
||||
path: /training/articles/perf-tips.html
|
||||
path_attributes:
|
||||
@@ -1282,23 +1276,6 @@ toc:
|
||||
- name: description
|
||||
value: How to minimize the amount of power your app requires by adapting to current power conditions and performing power-hungry tasks at proper intervals.
|
||||
section:
|
||||
- title: Reducing Network Battery Drain
|
||||
path: /training/performance/battery/network/index.html
|
||||
section:
|
||||
- title: Collecting Network Traffic Data
|
||||
path: /training/performance/battery/network/gather-data.html
|
||||
- title: Analyzing Network Traffic Data
|
||||
path: /training/performance/battery/network/analyze-data.html
|
||||
- title: Optimizing User-Initiated Network Use
|
||||
path: /training/performance/battery/network/action-user-traffic.html
|
||||
- title: Optimizing App-Initiated Network Use
|
||||
path: /training/performance/battery/network/action-app-traffic.html
|
||||
- title: Optimizing Server-Initiated Network Use
|
||||
path: /training/performance/battery/network/action-server-traffic.html
|
||||
- title: Optimizing General Network Use
|
||||
path: /training/performance/battery/network/action-any-traffic.html
|
||||
- title: Optimizing for Doze and App Standby
|
||||
path: /training/monitoring-device-state/doze-standby.html
|
||||
- title: Monitoring the Battery Level and Charging State
|
||||
path: /training/monitoring-device-state/battery-monitoring.html
|
||||
path_attributes:
|
||||
|
||||
@@ -28,7 +28,8 @@ when combined, but it's unlikely that these changes will result in dramatic
|
||||
performance effects. Choosing the right algorithms and data structures should always be your
|
||||
priority, but is outside the scope of this document. You should use the tips in this document
|
||||
as general coding practices that you can incorporate into your habits for general code
|
||||
efficiency.</p>
|
||||
efficiency.
|
||||
</p>
|
||||
|
||||
<p>There are two basic rules for writing efficient code:</p>
|
||||
<ul>
|
||||
@@ -49,8 +50,7 @@ code for a device with a JIT is not always the best code for a device
|
||||
without.</p>
|
||||
|
||||
<p>To ensure your app performs well across a wide variety of devices, ensure
|
||||
your code is efficient at all levels and agressively optimize your performance.</p>
|
||||
|
||||
your code is efficient at all levels and aggressively optimize your performance.</p>
|
||||
|
||||
<h2 id="ObjectCreation">Avoid Creating Unnecessary Objects</h2>
|
||||
|
||||
|
||||
@@ -5,4 +5,9 @@ page.trainingcourse=true
|
||||
|
||||
|
||||
<p>These classes and articles help you build an app that's smooth, responsive,
|
||||
and uses as little battery as possible.</p>
|
||||
and uses as little battery as possible.</p>
|
||||
|
||||
<p>Along with this section, you can find additional information about optimizing
|
||||
your app in the <a href="/topic/performance/index.html">Performance and
|
||||
Power</a> section.</p>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user