Aktív témák

  • Everman

    addikt

    válasz telya #425 üzenetére

    Most kezdtem olvasgatni jobban ezt a topicot és telya mester tollából akkora marhaságok vannak jelen, hogy az már fizikailag fáj :D

    "lenyeg hogy a nem rendszerszintu progik (beepitett progik (+ cydia progik)) semmilyen modon nem kepesek a hatterben futni"

    Ja, a BSD Unix többszálú működése az csak legenda gondolom.

    "amiken keresztul beepitett szolgaltatasokat tudnak hasznalni, de ezek kb lekorlatozodnak a hatterben levo audiora, voip szolgaltatasra es gps-re"

    Amivel az Apple konkrétan lefed minden olyan szolgáltatást, aminek szüksége van a háttérben futásra. (Ha értenél a dologhoz, akkor tudnád, hogy az Android is hasonlóan működik, ha háttérbe küldesz egy alkalmazást, akkor ha normálisan van programozva, akkor szintén felfüggeszti a futását, a különbség az, hogy az Apple az SDK-n és az előzetes elleneőrzésen keresztül kikényszeríti ezt, míg egy Androidos alkalmazás, ha hibásan van elkészítve lezabálja az aksidat. Mindkét rendszer esetén van három állapota egy taszknak:
    - előtérben aktív (ez a normál futás, mikor használod)
    - háttérben aktív (amikor a háttérben is szükséges a program valamilyen interakciója, iOS-en az SDK-val készült alkalmazások esetén ilyenkor a lényegi szálak /GPS, hang, notifikációk stb./ egy-egy rendszerszálon tovább futnak és a fő alkalmazás felfüggesztődik ezzel is cpu időt spórolva, Androidon az egész alkalmazás aktív marad a háttérben értelmetlenül)
    - és háttérben inaktív (amikor nincs szükség interakcióra, az alkalmazás futása megáll és csak akkor folytatódik, mikor ismét előtérbe kerül, ez pl. a játékokra jellemző)

    Az iOS-nél van egy negyedik lehetőség, ha az alkalmazás még régebbi SDK-val készült, akkor háttérbe küldés esetén a rendszer elmenti az állapotát és kilépteti (ezzel minden erőforrást felszabadít, de a következő aktiváláskor onnan folytatja, ahol megszakították, a gyors belső flash memória miatt ez igazából nem jelent semmit).

    Ezen trükkök miatt gyakorlatilag semmi különbség nincs a felhasználó fele, ugyanazt kapja mindkét rendszeren, csak az iOS esetén jóval kevesebb erőforrást és akkukapacitást emészt fel ez a művelet.

    " a skype-ot hatterbe teve tudod folytatni a beszelgetest a voip api-n keresztul, de semmi mast nem tudnak a progik a hatterben csinalni, tehat ha pl a hatterben van a skype es valaki rad ir, kuld valamit, stb, azokat a progi nem tudja feldolgozni csak ha visszavaltasz ra."

    Ilyenkor látszik, hogy még csak képen, vagy videón láttál iOS-t. A Skype köszöni, de akkor is tud reagálni, ha háttérben van, ha üzennek neked, akkor azonnal felugrik az üzenet és visszaválthatsz rá. Sőt az Androidhoz képest fényévekkel fejlettebb push miatt az üzenetküldő alkalmazásokra akkor is megérkezik az üzenet és jelzi a készülék, ha az adott alkalmazás nem is fut (vagyis, ha pl. az IM+-ban engedélyezem a push-t, akkor végig aktívnak fogok látszani MSN-en, bármikor írhatsz nekem, akkor is megkapom az üzenetet, ha az IM+ nem is fut és rögtön tudok válaszolni is).

    "android-on viszont termeszetesen valos multitasking van."

    Kár, hogy a két rendszer multitasking szolgáltatásai sokban hasonlítanak és a Gingerbreadtől még jobban közelítenek az iOS megoldásához.
    Tudod ezek mobiltelefonok, nem jó dolog, ha egy háttérben ragadt aktív taszk lezabálja az erőforrásokat. Nem kívánom neked, hogy ne tudj mentőt hívni, mert egy kifagyott process a zsebedben lemerítette a telefonodat. Lehet, hogy hamar átértékelnéd a dolgok fontossági sorrendjét.

    Egyébként csak halkan jegyzem meg, hogy az API-n keresztüli többszálú működés csak az App Store-os alkalmazásokra igaz, a Cydiás alkalmazások a BSD saját megoldását használják a multitaszkingra ami a desktop UNIX rendszerek megoldását használja.

    No meg az imádott widgeteidről pár szó:
    - lehet, hogy nem tudod, de a Widgeteket az Apple kezdte használni OSX alatt, a Google onnan lopta az ötletet. iOS-re nem véletlenül nem hozták át, mivel túl sok erőforrást zabál az Apple szerint.
    - Ha jailbreakelt az iPhone-od, akkor használhatsz widgeteket, több megoldás is van rá pl.: [link] az más kérdés, hogy itt ezt kevesebb felhasználó igényli.

Aktív témák