Miksi ihmeessä iPhonelle riittää 1GB muistia ja Android tarvitsee 3GB?
|
|
Viestiketjuun kuuluvat käyttäjäkommentit liittyvät tähän uutiseen:
uutinen julkaistu: 16 marraskuuta, 2014
Yksi suurimpia ihmettelyn aiheita syksyisen iPhone 6-lanseerauksen yhteydessä oli, että Apple piti edelleen iPhonen RAM- eli käyttömuistin määrän yhdessä gigatavussa.
Samaan aikaan kuitenkin Android-huippumallit ovat pikkuhiljaa nostaneet RAM-muistin määrän vuoden takaisesta kahdesta gigatavusta kolmeen gigatavuun. Kysymys kuuluukin: Miksi Android vaatii kolme kertaa enemmän muistia ... [ lue koko uutinen ]
Lue uutisartikkeli kokonaisuudessaan ennen kuin kommentoit aihetta.
|
Senior Member
11 tuotearviota
|
16. marraskuuta 2014 @ 18:06 |
Linkki tähän viestiin
|
Java... Miten tuo takavuosien kirosana kummittelee vieläkin.
|
AfterDawn Addict
|
16. marraskuuta 2014 @ 18:10 |
Linkki tähän viestiin
|
Ei Android tarvitse noin paljon keskusmuistia. Puhelinten valmistajat laittavat noin paljon keskusmuistia houkutellakseen asiakkaita. Tosiasiassa jo 1 Gt keskusmuistia riittää peruskäyttöön.
|
I hate titles
35 tuotearviota
|
16. marraskuuta 2014 @ 18:12 |
Linkki tähän viestiin
|
Lainaus, alkuperäisen viestin kirjoitti Datanen: Ei Android tarvitse noin paljon keskusmuistia. Puhelinten valmistajat laittavat noin paljon keskusmuistia houkutellakseen asiakkaita. Tosiasiassa jo 1 Gt keskusmuistia riittää peruskäyttöön.
Peruskäyttöön, toki, mutta tuo tilastodata osoittaa kuitenkin selkeästi sen, että käytettyjen appsien vaatima muistimäärä x 4 pitäisi olla laitteessa, jotta se toimisi niin nopeasti kuin se vain voi.
|
I hate titles
35 tuotearviota
|
16. marraskuuta 2014 @ 18:14 |
Linkki tähän viestiin
|
Lainaus, alkuperäisen viestin kirjoitti mcmopo: Java... Miten tuo takavuosien kirosana kummittelee vieläkin.
Käytännössä kaikki Android-sovellukset koodataan Javalla, Googlen tarjoamat Androidin SDK:t ovat saatavilla vain Javalle.
|
R4ndom1
Member
|
16. marraskuuta 2014 @ 18:25 |
Linkki tähän viestiin
|
Lainaus, alkuperäisen viestin kirjoitti mcmopo: Java... Miten tuo takavuosien kirosana kummittelee vieläkin.
Java käytetään vielä erittäin paljon. Tuon garbage collectorin etu on siinä, ettei ohjelmoijan tarvitse huolehtia milloin varataan ja vapautetaan muistia, vaan garbage collector huolehtii siitä. Eli javassa ohjelmoijan ei tarvitse päästä käsiksi niin tarkasti muistiin, jolloin ohjelmointi on paljon helpompaa, tulee vähemmän virheitä ja vähemmän tietoturva-aukkoja. Ilmeisesti kuitenki androidissa on mahdollista kirjoittaa natiiveja kirjastoja, joissa on mahdollista käyttää manuaalista muistinhallintaa.
|
I hate titles
35 tuotearviota
|
16. marraskuuta 2014 @ 18:31 |
Linkki tähän viestiin
|
Lainaus, alkuperäisen viestin kirjoitti R4ndom1: Ilmeisesti kuitenki androidissa on mahdollista kirjoittaa natiiveja kirjastoja, joissa on mahdollista käyttää manuaalista muistinhallintaa.
Juu, Android NDK:n kautta noiden tekeminen on mahdollista, mutta hyvin, hyvin harvinaista.
Käytännössä kolmenlaisia sovelluksia:
-Javalla kirjoitetut sovellukset (näppituntumalta noin 90..94%)
-Apache Cordovalla (entinen PhoneGap) tai vastaavalla työkalulla webbisivuista tehdyt sovellukset (esim. Androidin Ampparit on tällainen), näitä on tämän uutisen mukaan kaikista Android-sovelluksista 5.4%
-NDK:lla tehdyt sovellukset
|
Staff Member
32 tuotearviota
|
16. marraskuuta 2014 @ 18:47 |
Linkki tähän viestiin
|
Puhelimissa tuota muistia eivät sovelluksista oikeasti tarvitse kuin pelit ja selaimet. Molemmat kategoriat ovat Androidilla pitkälti NDK-kamaa, koska sen avulla on mahdollista saavuttaa parempi suorituskyky ja siirrettävyys on parempi eri alustojen välillä (C/C++ -koodilla).
Ja roskienkeruuta on mahdollista käyttää myös iOS:llä vaikka käyttöjärjestelmä ei sitä oletuksena kehittäjille tarjoakaan
http://www.harnixtechnologies.ca/iGC/
IMHO syy miksi iPhoneja myydään pienellä muistimäärällä on se, että Apple haluaa pitää tuotteiden katteet korkeina. Esim. jos ajaa mitään isompia pelejä 512 megatavun muistilla varustetussa iOS-laitteessa niin Xcode kyllä suoltaa ulos memory pressure -valitusta ja laite sulkee taustalla olevien sovellusten varaamia muistialueita pois käytöstä.
Tai jos on selaimessa useampi välilehti auki niin iOS kyllä poistelee ne sieltä, kun jokin muu asia tarvitsee sitä muistia, joka hidastaa monen välilehden surffaamista, kuten Anandtech tuossa iPhone 6 -arvostelussa jo totesi
While iOS' software architecture is more RAM efficient due to manual garbage collection and the use of precompiled binaries, it's quite easy for me to push the phone past the breaking point in Safari. For example, six tabs of common websites for mobile devices cannot consistently be held in memory. If I continuously go through all six tabs, at least one will need to reload. In my first attempt at running this test, Safari crashed as I tried to go through all tabs constantly to keep them in memory. I didn't notice this behavior in the new Moto X, which can do the same test without issue.
http://www.anandtech.com/show/8554/the-iphone-6-review/12
|
m.j.v
Newbie
|
16. marraskuuta 2014 @ 19:38 |
Linkki tähän viestiin
|
Nyt on tehty vääriä johtopäätöksiä, eikä linkattu kuvaajakaan liity otsikkoon. Lyhyesti: Java-ohjelma _ei_ vaadi 3x muistia verrattuna natiivikoodiin. Garbage collection ei myöskään "kasvata ohjelman varaamaa muistia ohjelmaa sulkiessa", kuten tuossa jotenkin kummasti väitetään.
Kuvaajassa on verrattu erilaisia garbage-collection algoritmeja. Koska ohjelmoija itse ei vapauta varattuja olioita, vaan järjestelmä hoitaa sen sopivaksi katsomanaan ajankohtana. Tätä ei kannata tehdä liian usein, koska muuten teho menee turhaan tarkastamiseen. Liian harva tarkastus johtaa jo turhaksi käyneiden olioiden jäädessä muistiin pitemmäksi aikaa kun on tarpeen (tästä tulee tilapäinen RAM-tarpeen lisäys). Suurin osa ohjelmien varaamista olioista on pieniä, joten tarve vaikkapa nelinkertaiselle vapaalle heapille koko on myöskin pientä. Isoja muistilohkoja taas harvoin vapautetaan ja varataan jatkuvasti. Ja mikäli varataan, niin niille yleensä kirjoitetaan oma pool uudelleenkäyttöä varten. Tektissä mainittu tilanne 200MB vs 800MB on absurdi.
|
samfin
Senior Member
1 tuotearvio
|
17. marraskuuta 2014 @ 11:58 |
Linkki tähän viestiin
|
Oma mielipide Anroidin suuren muistin tarpeeseen on widgetit ottamatta sen suuremmin kantaa miten ne on tehty.
Jos siis Anroidi käytetään iPohnen tyyliin pelkkiä pikakuvakkeita käyttäen (ei widgettejä) niin puhelin ei lagaa yhtään. Itsellä jokunen wigetti käytössä. Sähköposti ja kalenteri näistä pahimpia niin, kun näytön avaa niin pientä tahmausta usein havaittavissa.
Tämä siis johtuu omien tutkimusten perusteella, että nuo widgetit lataavat aina sisällön uusiksi. Sen kyllä näkeekin, kun nuo lataavat sisällön ja siitä aina pieni tahmaus (tunnetaan myös lagina).
Iphonella ja win luureillahan tätä ongelmaa ei ole, koska eivät käytä noita widgettejä mitä anroidilla käytössä.
Tämä siis yhden miehen kenttätutkimus joten pidätän oikeuden mielipiteen muutokseen. :)
PS. LG G3 3Gigan muistilla
|
D00mer
Member
27 tuotearviota
|
17. marraskuuta 2014 @ 12:46 |
Linkki tähän viestiin
|
Omassa androidissa on vain 1gb muistia ja sulavasti toimii eikä ole kertaakaan loppunut kesken, moniajokin toimii hyvin. Edellisessä androidissa oli vain 512mb ja sekin riitti, mutta useinmiten moniajo ei, mutta sekin riippui itse ohjelmasta kuin muistin määrästä.
Toki eri asia on jos omistaa jonkun samsungin joka on täynnä bloatwarea :).
|
Happokala
Junior Member
|
17. marraskuuta 2014 @ 16:25 |
Linkki tähän viestiin
|
"GC is a huge performance problem for developing smooth android applications. At Facebook, one of the biggest performance problems we deal with is GCs pausing the UI thread. When dealing with lots of Bitmap data, GCs are frequent and hard to avoid. A single GC often results in dropped frames. Even if a GC only blocks the UI thread for a few milliseconds, it can significantly eat into the 16ms budget for rendering a frame."
|
jaska_70
Newbie
|
17. marraskuuta 2014 @ 22:17 |
Linkki tähän viestiin
|
Enemmän ihmetyttää miksi kirjoitatte että Applen laitteelle riittää giga muistia?
Mulla on iPad Air ja siinä on siis vain giga muistia. Safari crashaa usein koska muisti loppuu kesken. Ei tarvita kuin muutama tabi auki selaimeen, niin saattaa kaatua. Kokeilkaa vaikka avata Twitter ja selaatte twiitejä lisää muutaman kerran, niin se crashaa. Samoin sen huomaa siitä, että kun on useampi tabi auki, ja vaihdat tabia, niin selain lataa sivun aina uudestaan, kun muisti ei riitä pitää niitä taustalla auki. Samoin se crashaa kun menee esim pakkotoiston foorumille ja koettaa lukea threadejä, joissa on upotettuna videoita.
Kaiken lisäksi, Apple julkaisi uuden iPad Air 2:n, jossa on edelleenkin rupiset giga muistia.. Applen katteilla luulisi olevan varaa laittaa 2 gigaa muistia, jos asiakkaiden käyttökokemus kiinnostaisi enemmän kuin raha. Varsinkin kun Apple ja sen tukijat puhuu HYVÄN kokemuksen tärkeydestä.
Jos ette usko, niin kokeilkaa tai Googlatkaa "ipad safari crash out of memory" tai vastaavaa.
|
Mainos
|
  |
|
Senior Member
|
18. marraskuuta 2014 @ 17:42 |
Linkki tähän viestiin
|
Lainaus, alkuperäisen viestin kirjoitti jaska_70: Enemmän ihmetyttää miksi kirjoitatte että Applen laitteelle riittää giga muistia?
Erilaisesta muistinhallinnasta johtuen, samalla muistista saa eri määrän hyvää irti.
Ei ero kieltämättä ole niin suuri kuin mitä otsikko väittää, mutta eri on ja Applen käyttämällä ARC:lla on tiettyjä ihan mitattavia etuja GC:ta vastaan. 1. Nopeus 2. Pienempi muistinkäyttö 3. Ennustettavuus.
Ja vaikka Applen laitteissa on vähemmän muistia, käytännössä prosessi saa tarvittaessa käyttöönsä sitä paljon enemmän kuin Androidissa. Androidvalmistajilla on aivan käsittämättömän pieniä limittejä prosesseille sallitusta muistinkäytöstä.
http://stackoverflow.com/questions/1867...-an-app-can-use
Lainaus, alkuperäisen viestin kirjoitti jaska_70:
Mulla on iPad Air ja siinä on siis vain giga muistia. Safari crashaa usein koska muisti loppuu kesken. Ei tarvita kuin muutama tabi auki selaimeen, niin saattaa kaatua.
Minulla on iPad 3 ja giga muistia. Safari ei crashaa juuri koskaan. Taustalla olevat tabit voivat tyhjentyä muistipaineessa, joka on kieltämättä joskus vähän ikävää.
Lainaus, alkuperäisen viestin kirjoitti jaska_70:
Kokeilkaa vaikka avata Twitter ja selaatte twiitejä lisää muutaman kerran, niin se crashaa.
Kokeilen kunhan olen kotosalla, mutta ei kai nyt *kukaan* käytä Twitteriä selaimella?! Natiivit appit on keksitty ja ihan syystä.
Lainaus, alkuperäisen viestin kirjoitti jaska_70:
Kaiken lisäksi, Apple julkaisi uuden iPad Air 2:n, jossa on edelleenkin rupiset giga muistia..
iPad Air 2:ssa on kaksi gigaa muistia... Virheelliseen premissiin perustuva ranttaus poistettu.
|