Kolmansien osapuolten sovellusten päivitystiheys vaikuttaa usein haitallisesti alustan teemoihin, varsinkin kun teemojen on mukauduttava huonosti koodattuihin.
Se on yleinen ilmiö: käyttäjät käyttävät Substratum-teemoja puhelimiinsa ja päivittävät myöhemmin Slackin, WhatsAppin, Instagramin tai minkä tahansa määrän muita sovelluksia Play Kaupasta. Yhtäkkiä he eivät voi edes avata niitä sovelluksia, ennen kuin heidän teemapeittokuvansa poistetaan käytöstä. Monet uudemmat Substratumin käyttäjät ovat kertoneet kokemuksistaan tästä ongelmasta julkaisun jälkeen juureton Substratum-teema Android Oreolle.
Joskus Substratumin peittokuvien uudelleenrakentaminen korjaa ongelman, mutta joskus se ei toimi ennen kuin teeman kehittäjä päivittää teeman uudelleen. Jälkimmäisessä tapauksessa käyttäjät ovat juuttuneet käyttämään kyseisiä sovelluksia teemattomissa varastotiloissaan. Sanomattakin on selvää, että tämä voi olla turhauttava kokemus monille.
Ongelma johtuu yleensä useista tekijöistä: huonosti koodatusta kolmannen osapuolen sovelluksesta, säännöllisistä päivityksistä mainitut sovellukset, jotka itse asiassa aiheuttavat enemmän ongelmia kuin ne korjaavat, ja Overlay Manager Servicen (OMS) rajoitukset puitteet. Puhuin muutaman tunnetun teeman kanssa, jotka antoivat arvokkaita näkemyksiä aiheesta:
Jeremy Beck, kuka tekee Spektri Alustan teema ja David Wilson / Hallitus mainetta.Näiden Substratumin kannattajien mukaan jotkut huonosti koodattujen sovellusten pahimmista rikkojista ovat suosituimpia. WhatsApp, Instagram, Slack, Facebook ja Telegram ovat esimerkkejä, joista nämä Substratumin teemat lainasivat meille kertoessaan tätä ongelmaa. Itse asiassa David sanoi, että ne ovat esimerkkejä "hirvittävästi, vastenmielisesti, halveksittavasti koodatuista" sovelluksista, mikä havainnollistaa värikkäästi turhautumista Substratum-teeman kehittäjät kohtaavat pitäessään käyttäjänsä tyytyväisinä yrittäessään yhdistää Android-kokemuksensa yhteinen teema.
Esimerkiksi "halkeavasti koodattu" sovellus saattaa sitoa tekstin värin color.xml-tiedostonsa taustaväriin. Jos teema muuttaa taustavärin niin, ettei se ole enää valkoinen tässä esimerkissä, myös teksti muuttuu ja sen lukeminen voi olla vaikeampaa (tai jopa mahdotonta). Tämän vuoksi teeman on lisättävä omat asettelunsa xml-tiedostot teemapeittokuviinsa määrittääkseen erilliset värit tekstille ja taustalle.
Varoitus on, että uusien xml-tiedostojen on myös sisällettävä jokainen koodimerkki alkuperäisen sovelluksen samannimistä tiedostoista joten mitään toimintoja ei menetetä. Tämä johtuu siitä, että OMS lukee korvaavan teeman tiedostoa, kun taas sovellus itse yrittää tehdä kaiken alkuperäisen tiedoston salliman. Kun sovellus päivitetään ja pieninkin asiaankuulumaton muutos tehdään alkuperäisiin xml-tiedostoihin, peittokuvat eivät toimi.
Näin David selittää sen:
Mitä nämä naurettavat "kehittäjät" (käytän tätä termiä löyhästi kuvaillessani näitä klovneja) tekevät, on he käyttävät esineitä layout xmls, jotka vaikeuttavat sovelluksen teemaa kunnolla lisäämättä näitä asettelu xml: itä peittokuvaamme.
Otetaan esimerkki WhatsAppista ja katsotaan /res/values/colors.xml-tiedostossa olevaa kohdetta, joka on
#ffffffff He käyttävät @color/whitea sekä tekstin väreihin että taustaväreihin koko sovelluksensa ajan. Tämä tarkoittaa, että jos teema haluaa muuttaa "valkoisen" värin joksikin tummaksi tehdäkseen taustansa tummaksi, se tekee myös paljon tekstiä tummaksi, mikä on erittäin huonoa.
Tämän puutteen kiertämiseksi teemat lisäävät asettelun xml-tiedostot peittokuvaansa ja muuttavat joko tekstin väriä tai taustaväriä tai molempia. on jotain kuten android: background="@color/white" johonkin kuten android: background="@*android: color/background_dark", jotta tausta tulee tumma.
Nyt tämä on hienoa ja tekee taustasta tumman, mutta layout xml: n on sisällettävä kaikki, mitä alkuperäisessä asettelussa on, mikä voi vaihdella muutamasta rivistä yli 100 riviin. Näillä xml-asetteluriveillä voi olla paljon erilaisia resursseja, jotka sijaitsevat sovelluksen alkuperäisessä koodissa ja joita kutsutaan, kuten tunnukset, mitat, merkkijonot, tyylit jne.
Tässä on nyt ongelma... jos teema tekee peiton, joka sopii WhatsApp 2.17.323:een ja WhatsApp päivittää 2.17.351:een (esimerkiksi), niin jos WhatsApp loputtomassa viisaudessaan päättää muuttaa jos merkkijono, joka oli peittokuvassa, on tehty 2.17.323:lle ja tätä merkkijonoa ei ole enää olemassa versiossa 2.17.351, peittokuva ei onnistu rakentaa.
Sama pätee kaikkeen peittokuvaan, joka on missä tahansa koodissa, joka kutsuu sovelluksen sisällä olevaa resurssia, jos kyseinen resurssi oli sovelluksessa, jota varten peittokuva on suunniteltu, ja sitten sovellus päivittyy ja resurssi ei ole enää sovelluksen koodissa, peittokuvaa ei käännetä.
Tämä on vain yksi esimerkki kissa-hiiri-pelistä, jossa vaihtelevat sovellus- ja teemapäivitykset, joita Substratumin teemoijat kohtaavat. Kun teemat tukevat suurta määrää kolmannen osapuolen sovelluksia, heidän on kerrottava tämä peli useita kertoja jokaisen teemapäivityksen yhteydessä. Se on loputon kierre, jossa pysytään mukana useiden tuettujen sovellusten kanssa ja toivotaan, että turhautuneet käyttäjät eivät arvioi teemojaan huonosti päivitysten välillä koska Slack (toinen esimerkki) julkaisi kolme päivitystä sovellukseensa kahden viikon aikana Slack-suosikkituen viimeisen päivityksen jälkeen. teema.
Mitä voit tehdä asialle?
Henkilökohtaisesti odotan yleensä a päivittää suosikkiteemojani ennen kuin päivitän käyttämiäni sovelluksia jotka ovat teemallisia. Jokaisella teemalla ei kuitenkaan ole aikaa päivittää jatkuvasti päivityksiä pysyäkseen näiden sovelluspäivitysten mukana, joten mittarilukema voi vaihdella. Jos et todellakaan kestä sovelluksen käyttöä sen teemoimattomassa tilassa, muutaman tunnin tai päivän odottaminen ei ehkä ole sinulle iso juttu. Jos tämä on kuitenkin sopimusten katkaisu, saatat haluta vain teemailla järjestelmäsovelluksia, jotka eivät todennäköisesti muutu pian (kuten SystemUI tai Android Framework).
Huomaa vain, että ongelma ei johdu itse Substratumista tai Substratumin teemoista, äläkä syytä teeman kehittäjää, jos jokin menee pieleen. Tästä syystä Androidin OEM-makujen, kuten EMUI, Samsung Experience tai LG UX, teemamoottorit eivät salli muuta teemaa kuin järjestelmäsovelluksia ja itse järjestelmän käyttöliittymää. Jotta voit nauttia Substratumin tarjoamasta räätälöinnin tasosta, kompromissi on, että saatat joutua odottamaan hetken päästäksesi nauttimaan uusimmasta sovelluspäivityksestä.