Android och det här med program i bakgrunden.

Diskussion i 'Nexus One - Allmänt' startad av söder, 29 januari 2010.

  1. söder

    söder Professional Droid Medlem

    Blev medlem:
    8 november 2009
    Inlägg:
    2.223
    Mottagna gillanden:
    71

    MINA ENHETER

    Vissa program, KAN man faktiskt stänga av. Andra är det tänkt att man bara ska "home:a" ut ifrån, och sedan ligger de kvar i minnet ifall man ska tillbaka, och skulle minnet behövas, så får de lämna minnet till ett annat program? Är jag rätt ute?

    Hur av göras vilka program som är ok att de stängs ner helt, och försvinner ifrån minnet? Eller det är inte samma sak?

    Tex vissa chatt program bör ju ligga kvar, som Gtalk och så. Det måste ju innebär att vissa program har lägre rang på "minneslistan"?

    Sen, hur fungerar det med integration i telefonen och vissa program? Tex Eniros program. Bara man installerat det, och INTE startat det, eller det INTE ligger så jag ser det i Taskiller iaf, så kan det automatiskt fånga saker jag gör på telefonen, som mottager ett samtal från någon som jag ej har i min telefonlist, eller ringer ett sådant samtal?

    Hur funkar det?

    Dock har jag sett att vissa program, som Locale, faktiskt har en funktion där man kan starta eller stänga av servicen.

    Finns det några riktlinjer för HUR det är tänkt att det ska funka eller är det upp till utvecklarna själva att bara ta åt sig så mycket resurser det de vill?

    /Söder
     
  2. appel

    appel Professional Droid Medlem

    Blev medlem:
    13 augusti 2009
    Inlägg:
    2.111
    Mottagna gillanden:
    123

    MINA ENHETER

    Finns väldigt bra dokumenterat på developer.android.com hur det är tänkt att fungera. Sen kan ju tyvärr utvecklare välja att strunta i allt vad guidelines heter och skriva program som är minnes- och batterislukande monster, frihet under ansvar som det så fint heter.
     
  3. söder

    söder Professional Droid Medlem

    Blev medlem:
    8 november 2009
    Inlägg:
    2.223
    Mottagna gillanden:
    71

    MINA ENHETER

    Oj vad text. Du kanske är insatt? Du kanske vill förklara det lite kortfattat för mig bara?

    Tex, kan programmet, tex, Eniro, ändå ligga igång, fast det är av?

    /Söder
     
  4. appel

    appel Professional Droid Medlem

    Blev medlem:
    13 augusti 2009
    Inlägg:
    2.111
    Mottagna gillanden:
    123

    MINA ENHETER

    Ja, appar (eller iaf BroadcastReciever delen av en app) kan startas automatiskt för att hantera händelser i mobilen, tex att någon ringer. Vore svårt att implementera tex Caller ID funktionen i Eniro utan det. Men det behöver inte betyda att det drar mycket ström eller minne, tex för att visa Caller ID så behöver ju Eniro appen inte använda mer cpu eller minne än för just att ta reda på och visa vem som ringer. Förutsatt att de inte designat appen dåligt eller har buggar i den. :)

    Har du problem med Eniro appen?
     
  5. söder

    söder Professional Droid Medlem

    Blev medlem:
    8 november 2009
    Inlägg:
    2.223
    Mottagna gillanden:
    71

    MINA ENHETER

    Nej. :) Jag bara blev paff när det en dag ringde en bilhandlare som jag så klart inte hade inlagd i min telefonbok, och eniroappen visade vem som ringde. Kul grej tänkte jag. Då hade jag bara någon dag installerat det, utan att tänka mer på vad det gjorde. Jag tänkte det var en telefonbok när jag vill. :)

    Sen igår när jag skulle ringa en pizzeria, så dök det upp igen. :)

    Kul funktion, och jag gillar det, men det väckte min fråga om hur det funkar.

    Lite pga att jag märkt att telefonen blir lite rappare efter att jag faktiskt "killat" vissa appar med taskiller. Då undrar jag lite hur det ska funka...

    /Söder
     
  6. appel

    appel Professional Droid Medlem

    Blev medlem:
    13 augusti 2009
    Inlägg:
    2.111
    Mottagna gillanden:
    123

    MINA ENHETER

    Okej. :)

    Att det blir rappare när du dödat processer kan bero på många saker. Att du dödat något som buggat ur och drar mycket cpu, eller en bakgrundsprocess som ligger och gör något hela tiden, en service (service är en bakgrundsprocess och de dödas oftast inte automatiskt förutom om det inte blev tillräckligt med ledigt minne efter att i princip allt annat avslutats) som drar mycket minne/cpu, eller någon app som reagerar på många system händelser osv osv.

    Oftast sköter iaf Android processhanteringen mycket bra själv utan hjälp så länge de appar man har installerade följer de guidelines för hur appar ska bete sig.
     
  7. söder

    söder Professional Droid Medlem

    Blev medlem:
    8 november 2009
    Inlägg:
    2.223
    Mottagna gillanden:
    71

    MINA ENHETER

    Det är dock svårt att veta vilka appar som är "bra" gjorda.

    Det känns lite som på en windowsdatorn nu, där man installerar massa små program man tror sig kunna ha använding av, sen visar det sig att alla programmen har installerat små startupp-program som lägger sig i taskbar'en, bara för att kunna starta snabbt sedan när användaren ska ha det, samt att vissa läggar sig i autostart på 4 olika ställen.

    Det hade varit trevligt om man i Andoid faktiskt skulle kunna få info om att "det här programmet kommer ligga och känna av inkommande och utgående samtal" och "detta kommer autostarta så att det faktiskt man göra de saker som det är tänkt det ska".

    Locale nu är ju trevligt tycker jag, där man faktiskt kan stänga av services. Då förstår man ju att om man inte gör det, så är det något som ligger i bakgrunden.

    Om jag tex skulle ladda hem en wikipediaapp nu, tex, så vet jag inte om det kommer ligga helt avstängt tills jag startar den (så som skulle vilja att det var) eller om det typ autostartar, för att NÄR jag en gång i veckan ska kolla upp något, så går det jättefort att starta det.

    /Söder
     
  8. appel

    appel Professional Droid Medlem

    Blev medlem:
    13 augusti 2009
    Inlägg:
    2.111
    Mottagna gillanden:
    123

    MINA ENHETER

    Till viss del får du ju reda på det när du godkänner rättigheterna appen begär vid installation, även om det tyvärr inte är helt lätt att förstå.

    Tex Eniro appen begär följande:
    android.permission.INTERNET - tillåter att appen får använda data uppkopplingen (2g/3g/wifi)
    android.permission.WRITE_CONTACTS - tillåter att appen får ändra på dina kontakter
    android.permission.READ_CONTACTS - tillåter att appen får läsa dina kontakter
    android.permission.ACCESS_FINE_LOCATION - tillåter att appen använder gpsen
    android.permission.READ_PHONE_STATE - tillåter appen att bli notifierad om när telefoni-relaterade saker ändras/händer och läsa ut telefonsaker som ditt telefonnummer mm.
    android.permission.ACCESS_NETWORK_STATE - tillåter appen att bli notifierad om när data upplingen ändras och läsa ut information om data uppkopplingen
    android.permission.PROCESS_OUTGOING_CALLS - tillåter appen att övervaka, ändra och avbryta utgående samtal
    android.permission.CALL_PHONE - tillåter appen att starta telefonsamtal
    android.permission.ACCESS_COARSE_LOCATION - tillåter appen att läsa ut din position med hjälp av mobilmaster och wifi.

    Men jag håller med om att det borde finnas något inbyggt i Android för att lista varför en viss app startas/hålls vid liv. Är ju inte direkt smidigt att titta i loggarna och i outputen från adb bugreport för att se vilka appar som gör vad när man felsöker.