Android Question Life of Main Activity and Secondary Activities

Discussion in 'Android Questions' started by Guardian17, Jun 30, 2015.

  1. Guardian17

    Guardian17 Active Member Licensed User

    I think I know the answer to this, but I haven't been able to find anything on the B4A site to confirm it.

    Let's say I have a Main Activity, and I start a second Activity, Activity2. Also, Activity2 relies on the state of a Boolean (from the Main Activity) in its Activity_Create Sub.

    My question is, is there ever a situation in the Activities Cycle where Main will be destroyed but Activity2 will remain alive in memory and could be re-started on its own due to an orientation change, such that that Boolean no longer exists? Or does the Android OS know that Activity2 is associated with the Main Activity, such that if Main is destroyed, Activity2 will also be destroyed?
  2. Erel

    Erel Administrator Staff Member Licensed User

    Process global variables are not tied to any specific activity or service. They are tied to the process.

    However it is possible that the process will be killed and later recreated and started directly from the second activity. In that case Activity_Create of the main activity will not be called.
  3. Guardian17

    Guardian17 Active Member Licensed User

    In light of this, does each Activity have its own separate StateManager file, or is there a single StateManager file used commonly by all Activities in a Project? Assuming a common single file, I am interested in knowing whether Activity2, started in the Main Activity using StartActivity, can use values in the common StateManager file that the Main Activity saved using StateManager.SaveSettings, (as opposed to using a Process_Global in the Main Activity, which may not currently exist if the process was re-started from Activity2).

    Stated another way, can any Activity in a Process use ANY saved Setting saved by any of the other Activities?

    Also, does the StateManager file remain persistent in the device if the process is stopped, (i.e. a Setting saved today can still be recalled one year from now), or does the StateManager file get destroyed at some point?
    Last edited: Jul 12, 2015
  4. LucaMs

    LucaMs Expert Licensed User

    Then you should initialize those "kind of variables" when you declare them, despite the IDE gives a warning, or not?
    Usually you declare the variable and set its first value in Activity_Create, but as you wrote... !
  5. Erel

    Erel Administrator Staff Member Licensed User

    I recommend you to go over StateManager code. It is quite simple and will answer your questions.

    The file is persistent and all activities can access the settings.