Increment mActivityDepth for all activities launched from GeckoApp

RESOLVED FIXED in Firefox 13

Status

()

Firefox for Android
General
RESOLVED FIXED
5 years ago
10 months ago

People

(Reporter: bnicholson, Assigned: bnicholson)

Tracking

({perf})

unspecified
Firefox 14
ARM
Android
Points:
---

Firefox Tracking Flags

(firefox13 fixed, blocking-fennec1.0 -)

Details

Attachments

(1 attachment, 1 obsolete attachment)

(Assignee)

Description

5 years ago
Created attachment 608919 [details] [diff] [review]
patch

In bug 706822, mActivityDepth is used to prevent saving state (and taking a screenshot) when showing the AwesomeScreen. I think want to do this for all activities we launch (GeckoPreferences, the tabs tray, the file picker, etc.) to improve performance.
Attachment #608919 - Flags: review?(blassey.bugs)
(Assignee)

Comment 1

5 years ago
Created attachment 608923 [details] [diff] [review]
patch v2

One problem with not saving the state in these cases is that the following can happen:

1) user opens subactivity (AwesomeScreen, preferences, or tabs tray)
2) user clicks home to put fennec in background
3) fennec is OOM killed

Since the state wasn't saved in step 1, the last title/screenshot/session boolean won't get saved. This patch always saves these to the bundle, but only runs the SessionSnapshotRunnable() if the depth is 0.
Attachment #608919 - Attachment is obsolete: true
Attachment #608919 - Flags: review?(blassey.bugs)
Attachment #608923 - Flags: review?(blassey.bugs)

Updated

5 years ago
blocking-fennec1.0: --- → ?
Keywords: perf
blocking-fennec1.0: ? → -
Comment on attachment 608923 [details] [diff] [review]
patch v2

Review of attachment 608923 [details] [diff] [review]:
-----------------------------------------------------------------

r=blassey for overriding startActivity and startActivityForResult, as well as making the depth count private.

::: mobile/android/base/GeckoApp.java
@@ +550,5 @@
> +
> +        if (mOwnActivityDepth > 0)
> +            return; // we're showing one of our own activities and likely won't get paged out
> +
> +        new SessionSnapshotRunnable(null).run();

this needs to be called before putting the mLastScreen in the bundle.

The changes to this method are wrong in general, drop them. There's an argument to be made that we should save what we can to the bundle even if the depth is more than 0, but let's have that argument in a different bug.
Attachment #608923 - Flags: review?(blassey.bugs) → review+
(Assignee)

Comment 3

5 years ago
http://hg.mozilla.org/integration/mozilla-inbound/rev/43b9f25a14b0
(Assignee)

Comment 4

5 years ago
Filed bug 739742 and bug 739747.
(Assignee)

Comment 5

5 years ago
Comment on attachment 608923 [details] [diff] [review]
patch v2

[Approval Request Comment]
Improves performance for Gecko subactivities.
Attachment #608923 - Flags: approval-mozilla-aurora?
Blocks: 739578

Comment 6

5 years ago
https://hg.mozilla.org/mozilla-central/rev/43b9f25a14b0
Status: NEW → RESOLVED
Last Resolved: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 14

Comment 7

5 years ago
Comment on attachment 608923 [details] [diff] [review]
patch v2

[Triage Comment]
Mobile only - approved for Aurora 13.
Attachment #608923 - Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
(Assignee)

Comment 8

5 years ago
http://hg.mozilla.org/releases/mozilla-aurora/rev/0e479285c04b
Why are we fixing bugs that we have explicitly said will not block the release?
(In reply to Damon Sicore (:damons) from comment #9)
> Why are we fixing bugs that we have explicitly said will not block the
> release?

Because at one point Brian ran out of blockers, so I "OK'ed" this bug since it has performance impact.

Updated

5 years ago
status-firefox13: --- → fixed
You need to log in before you can comment on or make changes to this bug.