Discussion Board

Results 1 to 4 of 4
  1. #1
    Registered User
    Join Date
    Oct 2012

    Symbian App life cycle: Apps never killed?

    Coming from Android/WP7 and having been involved in Symbian projects by the past, i would like now to exactly understand the Symbian App life cycle. I want to understand how the Apps are killed..

    I found this:

    "The Symbian platform is a modern preemptive multitasking operating system. Applications are created in their own process, running in a single main thread. The kernel preemptively schedules all threads in the system, based on their priority. While it is possible to create secondary threads, Symbian strongly encourages applications to co-operatively multi-task using active objects. ".
    "(..) applications may be up and running at the same time and the user may switch between active applications. When a asynchronous event occurred, running application is moved to the background but it remains active".
    My question is: How the system deals with the RAM issue? Is there any callback to indicate that the mobile is in low memory conditions? Any callback to indicate the App is about to be destroyed?
    Does it mean that Symbian allows starting each single App, till there is not enough memory?
    In UIQ framework i remember some kind of lowMemory() call-back, but one never used that..

    Thanks, for your help..

  2. #2
    Super Contributor
    Join Date
    Mar 2003

    Re: Symbian App life cycle: Apps never killed?

    All you ever wanted to know and then some: http://www.developer.nokia.com/Commu...n_OS_Internals

    Docs in http://library.developer.nokia.com/

    There's an Ouf of Memory client API (or at least used to be in S60 v5): http://library.developer.nokia.com/i...itor_API4.html

  3. #3
    Nokia Developer Moderator
    Join Date
    Mar 2003

    Re: Symbian App life cycle: Apps never killed?

    Yep generally, when RAM goes low, there is that monitor thingi, which starts shutting down apps which are not having focus. The shut down is done by sending teh shutdown events, so if app wants to not shut down, it would have that possibility as well, but on those cases it should be designed in a way that it would free the RAM memory, basically very similarly as it descriped to be needed with GOOM monitor.

  4. #4
    Nokia Developer Moderator
    Join Date
    Feb 2006
    Oslo, Norway

    Re: Symbian App life cycle: Apps never killed?

    While this ROomMonitorSession only became part of the public SDK recently, the EEikCmdExit-part always has been true, if the OS wants to close an application for any reason, this command is issued (for example the Task Switcher uses it too).
    And of course there is the simple case for the "current" application: when it can not get the memory it wants to allocate, depending on the leaving/non-leaving method used, a KErrNoMemory leave or a NULL pointer is produced. After that it is up to the application if it handles the failed allocation, or crashes.

    (By the way: the GOOM thing mentioned by Jukka is yet another thing, it is about running out of dedicated GPU memory, on devices where it is available: http://www.developer.nokia.com/Commu...emory_handling)

Similar Threads

  1. Replies: 4
    Last Post: 2012-06-07, 11:13
  2. QT Mobile application life cycle / restrictions
    By madsleejensen in forum [Archived] Beginning Qt
    Replies: 2
    Last Post: 2011-06-27, 17:59
  3. How to cycle USB connection?
    By mkellerman in forum Wired and Wireless interfaces (Closed)
    Replies: 2
    Last Post: 2011-01-20, 09:09
  4. to develop Symbian apps(j2me client and j2ee server apps)
    By harish_goel in forum Mobile Java Tools & SDKs
    Replies: 1
    Last Post: 2010-07-29, 10:09
  5. Midlet Life Cycle question
    By lingtze in forum Mobile Java General
    Replies: 1
    Last Post: 2006-11-20, 12:54

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts