From 0b611f1cb445116f8c0a2630e2032c9a2517f624 Mon Sep 17 00:00:00 2001 From: David Friedman Date: Thu, 29 Sep 2016 19:53:23 -0700 Subject: [PATCH] Docs: Loose ends from release of Performance and Power docs, 2nd iteration. Change-Id: I09fe9f0554ebaff6e0a4852a8d48d971ce8a3cee --- docs/html/_redirects.yaml | 4 ++ docs/html/topic/performance/_book.yaml | 40 +++++++++---- docs/html/topic/performance/index.jd | 2 +- .../performance}/memory-overview.jd | 9 ++- .../articles => topic/performance}/memory.jd | 27 ++++----- .../html/topic/performance/rendering/index.jd | 60 +++++++++++++++++++ .../optimizing-view-hierarchies.jd | 0 .../performance/{ => rendering}/overdraw.jd | 0 .../{ => rendering}/profile-gpu.jd | 0 docs/html/training/_book.yaml | 23 ------- docs/html/training/articles/perf-tips.jd | 6 +- docs/html/training/best-performance.jd | 7 ++- 12 files changed, 119 insertions(+), 59 deletions(-) rename docs/html/{training/articles => topic/performance}/memory-overview.jd (99%) rename docs/html/{training/articles => topic/performance}/memory.jd (98%) create mode 100644 docs/html/topic/performance/rendering/index.jd rename docs/html/topic/performance/{ => rendering}/optimizing-view-hierarchies.jd (100%) rename docs/html/topic/performance/{ => rendering}/overdraw.jd (100%) rename docs/html/topic/performance/{ => rendering}/profile-gpu.jd (100%) diff --git a/docs/html/_redirects.yaml b/docs/html/_redirects.yaml index 8ddb98239038e..e71cf2b8d18de 100644 --- a/docs/html/_redirects.yaml +++ b/docs/html/_redirects.yaml @@ -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 diff --git a/docs/html/topic/performance/_book.yaml b/docs/html/topic/performance/_book.yaml index 6da92796dc9f5..ba7c8b54e6998 100644 --- a/docs/html/topic/performance/_book.yaml +++ b/docs/html/topic/performance/_book.yaml @@ -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. + diff --git a/docs/html/topic/performance/index.jd b/docs/html/topic/performance/index.jd index e08db15baa08f..2b6b1972a03ba 100644 --- a/docs/html/topic/performance/index.jd +++ b/docs/html/topic/performance/index.jd @@ -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. diff --git a/docs/html/training/articles/memory-overview.jd b/docs/html/topic/performance/memory-overview.jd similarity index 99% rename from docs/html/training/articles/memory-overview.jd rename to docs/html/topic/performance/memory-overview.jd index f61a230197a0a..58067d2be4b83 100644 --- a/docs/html/training/articles/memory-overview.jd +++ b/docs/html/topic/performance/memory-overview.jd @@ -1,11 +1,10 @@ page.title=Overview of Android Memory Management page.tags=ram,memory,paging,mmap -page.article=true + @jd:body - -
-
+
+

In this document

    @@ -286,4 +285,4 @@ page.article=true can be killed, see the Processes and Threads guide. -

    \ No newline at end of file +

    diff --git a/docs/html/training/articles/memory.jd b/docs/html/topic/performance/memory.jd similarity index 98% rename from docs/html/training/articles/memory.jd rename to docs/html/topic/performance/memory.jd index 885112168e252..ef1c4ae0aeeac 100644 --- a/docs/html/training/articles/memory.jd +++ b/docs/html/topic/performance/memory.jd @@ -1,36 +1,35 @@ page.title=Manage Your App's Memory page.tags=ram,low memory,OutOfMemoryError,onTrimMemory -page.article=true + @jd:body - -
    -
    +
    +

    In this document

    -
      +
      1. Monitor Available Memory and Memory Usage -
          +
        +
      2. -
      3. Use More Efficient Code Constructst -
          +
        1. Use More Efficient Code Constructs +
        +
      4. Remove Memory-Intensive Resources and Libraries -
          +
        +

      See Also

      @@ -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 Background Optimizations.

      diff --git a/docs/html/topic/performance/rendering/index.jd b/docs/html/topic/performance/rendering/index.jd new file mode 100644 index 0000000000000..e04605cc7eee4 --- /dev/null +++ b/docs/html/topic/performance/rendering/index.jd @@ -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 + + + + +

      + 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. +

      + +

      + 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. +

      + +

      Rendering Actions

      + +
      +
      + + Reducing Overdraw +
      +
      + Minimize the number of times you app redraws the same pixel in a single + frame. +
      + +
      + + Optimizing View Hierarchies +
      +
      + Make sure your layout and measurement are executing efficiently, and + avoid double taxation. +
      + + +
      + + Using the Profile GPU Tool +
      +
      + Take advantage of this on-device tool to identify bottlenecks that + may be slowing your app's rendering down. +
      + + +
      diff --git a/docs/html/topic/performance/optimizing-view-hierarchies.jd b/docs/html/topic/performance/rendering/optimizing-view-hierarchies.jd similarity index 100% rename from docs/html/topic/performance/optimizing-view-hierarchies.jd rename to docs/html/topic/performance/rendering/optimizing-view-hierarchies.jd diff --git a/docs/html/topic/performance/overdraw.jd b/docs/html/topic/performance/rendering/overdraw.jd similarity index 100% rename from docs/html/topic/performance/overdraw.jd rename to docs/html/topic/performance/rendering/overdraw.jd diff --git a/docs/html/topic/performance/profile-gpu.jd b/docs/html/topic/performance/rendering/profile-gpu.jd similarity index 100% rename from docs/html/topic/performance/profile-gpu.jd rename to docs/html/topic/performance/rendering/profile-gpu.jd diff --git a/docs/html/training/_book.yaml b/docs/html/training/_book.yaml index e9635be74ec32..fa50aa064204c 100644 --- a/docs/html/training/_book.yaml +++ b/docs/html/training/_book.yaml @@ -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: diff --git a/docs/html/training/articles/perf-tips.jd b/docs/html/training/articles/perf-tips.jd index 82de69a55249a..30cab14d5da67 100644 --- a/docs/html/training/articles/perf-tips.jd +++ b/docs/html/training/articles/perf-tips.jd @@ -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.

      +efficiency. +

      There are two basic rules for writing efficient code:

        @@ -49,8 +50,7 @@ code for a device with a JIT is not always the best code for a device without.

        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.

        - +your code is efficient at all levels and aggressively optimize your performance.

        Avoid Creating Unnecessary Objects

        diff --git a/docs/html/training/best-performance.jd b/docs/html/training/best-performance.jd index 8ea6fd5be4e51..bb88e990ce486 100644 --- a/docs/html/training/best-performance.jd +++ b/docs/html/training/best-performance.jd @@ -5,4 +5,9 @@ page.trainingcourse=true

        These classes and articles help you build an app that's smooth, responsive, -and uses as little battery as possible.

        \ No newline at end of file +and uses as little battery as possible.

        + +

        Along with this section, you can find additional information about optimizing +your app in the Performance and +Power section.

        +