RėmėjaiPrisijungtiPateikti
Tinklaraštis

Atmintis brangina Mac kompiuterius. Štai ką daryčiau su savo Mac programa

Autorius Justinas Rolando, MacPip kūrėjas

Trumpas atsakymas

2026 m. lapkričio 2 d. Apple pasakė, kad Mac ir iPad pasiūla gruodžio ketvirtį bus ribota, daugiausia dėl atminties, ir kad tikisi, jog atminties kainos po to toliau kils. Apple jau pakėlė Mac kainas 2026 m. birželio 25 d., o MacBook Neo, dabar 699 USD, turi 8 GB atminties ir neturi galimybės gauti daugiau. Mac programų kūrėjams tai reiškia daugiau klientų su 8 GB Mac kompiuteriais ir su senesniais Mac kompiuteriais, kuriuos jie laiko ilgiau. Išmatuok savo programos atmintį 8 GB Mac kompiuteryje, pasakyk, ko jai reikia, ir pasirūpink, kad tavo atnaujinimų šaltinis nesiūlytų versijų Mac kompiuteriams, kurie jų neįveiktų.

Pirmadienį Apple paskelbė rugsėjo ketvirčio rezultatus, ir eilutė, apie kurią vis galvoju, buvo ne pajamos. Tai buvo atmintis. MacRumors pokalbio apžvalga sako, kad Apple tikisi, jog Mac ir iPad pasiūla gruodžio ketvirtį bus ribota, „daugiausia dėl atminties", ir mano, kad atminties kainos po to toliau kils. John Ternus, savo pirmajame pokalbyje kaip CEO, atminties padėtį pavadino „precedento neturinčia".

Aš neparduodu RAM, ir tu taip pat. Bet Mac kompiuteriai, kuriuose veikia mūsų programos, ką tik pabrango, o pigiausias turi 8 GB. Tai pakeičia keletą dalykų visiems, kas kuria Mac programą.

Kas iš tikrųjų nutiko

Kodėl Mac programų kūrėjui tai turėtų rūpėti

Iš to išplaukia du dalykai, ir nė vienas nėra prognozė, tik aritmetika.

Pirma, daugiau tavo naujų klientų turės 8 GB. Neo yra pigiausias Mac, o jo atminties vėliau pridėti neįmanoma. Jei tavo programa tyliai buvo derinta MacBook Pro su 36 GB, ji dar niekada nesusitiko su savo naujausiais vartotojais.

Antra, žmonės laikosi kompiuterio, kurį turi, kai naujas kainuoja 200 USD daugiau. Tai reiškia daugiau klientų su senesniais lustais ir senesnėmis macOS versijomis, nei matytum įprastais metais. Tavo mažiausia macOS versija ir atnaujinimų šaltinis svarbesni nei įprastai.

Ką patikrinčiau šią savaitę

Tai mano paties žingsniai, ne Apple.

  1. Išmatuok savo programą su 8 GB, kai atidaryta kitų programų. Niekas nepaleidžia tavo programos vienos. Atidaryk Safari su keliolika kortelių, pokalbių programą ir savo programą, tada daryk tai, kas tavo programoje sunkiausia. Stebėk stulpelį Memory programoje Activity Monitor ir grafiką Memory Pressure apačioje. Geltona yra įspėjimas, raudona reiškia, kad macOS sunkiai verčiasi.
  2. Gauk tikrą skaičių. Terminal programoje footprint YourApp parodo, kiek atminties tavo programa iš tikrųjų naudoja, o leaks YourApp ieško atminties, kurią pamiršai atlaisvinti. Xcode atminties matuoklis Debug navigator ir instrumentai Allocations bei Leaks parodo, kur ji dingsta. Apple vadovas apie programos atminties naudojimo mažinimą viską išveda žingsnis po žingsnio.
  3. Atidžiai pažiūrėk į talpyklas. Dažniausi kaltininkai mažose Mac programose: vaizdų talpyklos, kurios niekada nesumažėja, visi failai, nuskaityti į atmintį, kai pakaktų srauto, ir istorijos sąrašai, kurie viską laiko amžinai. Apribok jas.
  4. Atsargiai su vietiniais DI modeliais. Jei tavo programa atsisiunčia modelį, kad jis veiktų Mac kompiuteryje, jo dydis konkuruoja su visu kitu 8 GB kompiuteryje. Pasiūlyk mažesnį modelį arba aiškiai pasakyk, kad didysis reikalauja 16 GB.
  5. Pasakyk, ko reikia tavo programai. Parašyk mažiausią atmintį ir macOS versiją savo svetainėje ir įraše. Klientas su Neo mieliau sužinotų prieš pirkdamas nei po.
  6. Nesiųsk atnaujinimų Mac kompiuteriams, kurie jų neįveiktų. Jei platini ne per Mac App Store su Sparkle, kiekvienam leidimui nustatyk sparkle:minimumSystemVersion, o nuo Sparkle 2.9 ir sparkle:hardwareRequirements su arm64 versijai tik Apple silicon. Abu aprašyti Sparkle leidimo dokumentacijoje. Tada kas nors su senesniu Mac kompiuteriu lieka prie paskutinės veikiančios versijos, užuot gavęs tokią, kuri neatsidaro.
  7. Patikrink, kuriame kompiuteryje veikia tavo programa. Jei netyčia atsisakei Intel, universal binary checker perskaito tavo lipo išvestį ir tai pasako.

Nieko iš to nereikia perrašinėti. Daugumoje programų, kurias mačiau, yra viena ar dvi talpyklos, kurios išaugo niekam nepastebėjus, o jų sutvarkymas užima popietę.

Ko nedaryčiau

Pristatymo įraše nerašyčiau „optimizuota 8 GB", nebent būčiau išmatavęs tokiame kompiuteryje. Ir nekelčiau savo kainos vien todėl, kad Apple pakėlė savo. Tavo kaštai nepasikeitė, o žmonės su griežtesniu biudžetu tai pastebi. Jei vis tiek svarstai kainos pakeitimą, kainų skaičiuoklė palygina vienkartinę kainą su prenumerata atskaičius mokesčius.

MacPip kampas

MacPip įrašai nuskenuojami automatiškai, kai pateikiami, o mėlyna varnelė reiškia tik tai, kad žmogus tam tikrą dieną išbandė programą. Nė vienas iš jų netikrina atminties, todėl sąžiningas atsakymas, ko reikia tavo programai, turi ateiti iš tavęs. Mažos, lengvos programos čia ir taip gerai sekasi: pažiūrėk į meniu juostos programas ir produktyvumo programas. Jei skelbi pristatymo kainą žmonėms, kurie šį sezoną skaičiuoja išlaidas, jai vieta Akcijose, su pabaigos data.

Dar viena naujiena šiandien: Sparkle appcast tikrintuvas. Įklijuok savo appcast.xml, ir jis patikrins kiekvieną leidimą: versiją, atsisiuntimo dydį ir parašą, mažiausią macOS versiją ir aparatūros taisyklę, o paprastais žodžiais pasakys, ko trūksta. Veikia puslapyje ir niekas nesiunčiama. O jei tavo Mac programos dar nėra MacPip, įrašyti ją nemokama.

Šaltiniai

Skaityk toliau

Pateik savo programąNemokami įrankiai kūrėjams