Manu Pitkänen
9. kesäkuuta, 2015 20:51
WWDC-tapahtuman avajaisesityksessä lähinnä lyhyeksi maininnaksi jäänyttä iOS 9:n sovellusohennustekniikkaa ("App thinning") on käyty tarkemmin läpi myöhemmin järjestetyissä sovelluskehittäjille tarkemmin rajatuissa esityksissä. Esityksiä seuranneen ArsTechnican mukaan kyse on käytännössä kolmen eri tekniikan yhdistelmästä, joiden tavoitteena on kuluttaa mahdollisimman vähän päätelaitteen massamuistia.
Huomattavin osa sovellusohennusta on niin sanottu sovellusleikkuu ("App slicing"), jonka ansiosta App Storesta ladattavista sovelluksista laitteelle lataantuu vain käytön kannalta oleelliset resurssit. Esimerkiksi jos iPhone 5c:n käyttäjä lataa sovelluskaupasta Metal-rajapintaa tukevan uuden pelin, on hänelle täysin turha ladata Metal-rajapintaan liittyvää koodia, koska puhelin ei edes tue sitä. Leikkuriin sisältyviä muuttajia ovat myös grafiikat (1x, 2x tai 3x) sekä suorittimen bittisyys (32 tai 64).
Sovelluskehittäjien kontolle jää ohjelmien resurssien merkitseminen oikealla tavalla.
Apple otti käyttöön myös tarvepohjaiset resurssit On-Demand Resources (ODR), jonka avulla sovelluskehittäjät voivat ladata laitteeseen vain sellaisia sisältöjä, joita kunakin hetkellä tarvitaan. Pelien kohdalla laitteen muistiin voitaisiin ladata esimerkiksi seuraavaksi pelattava kenttä ja muistista poistaa jo suoritetut kentät.
Bitcode-tekniikan avulla sovelluskehittäjät voivat ladata App Storeen niin sanottuja ohjelman "välivaiheen kuvauksen" ("intermediate representation") esikäännettyjen ohjelmien sijaan. Ohjelman käännöstyö suoritetaan näin App Storen päässää. Bitcoden ansiosta käyttäjät saavat vain tarvitsemansa koodit (32- tai 64-bittiset) vaikkei resursseja olisikaan merkattu oikeaoppisesti. Bitcoden varsinainen hyöty on kuitenkin siinä, että Applen tehdessä parannuksia ohjelmien kääntämiseen, tulevat parannukset automaattisesti käyttöön – kehittäjän ei itse tarvitse tehdä mitään.