Пайдалар:
- Адегенде профилди алып, чыныгы кыйынчылыкты өлчөп, оптималдаштырууну болжолдоолордун ордуна маалыматтарга негиздеп, профилдин натыйжасын жасалма интеллект чечмелейт.
- Ишке киргизүү убактысы, ылдамдыгы, эс тутуму жана батарейкасы боюнча эң кымбат операцияны максаттуу жана негизги жиптен оор жумушту алып салуу мүмкүнчүлүгү
- Батареянын жана процессордун AI мүмкүнчүлүктөрүнүн баасын башкаруу мүмкүнчүлүгү, мисалы, үлгүлөрдү алуу жана партияларды иштетүү аркылуу түзмөктөгү модель жана булут чалуулары
Мобилдик колдонуучулар чыдамкай. Колдонмо жай ачылса, сыдырып жүрүп илинип калса же батареяны бат эле түгөтсө, колдонуучу аны өчүрүп, дүкөндө жылдызча баасын берет. Иштин майнаптуулугу жана батареянын эффективдүүлүгү мобилдик тиркеменин аман калышынын маселеси; Бул түздөн-түз колдонуучунун канааттануусуна да, дүкөндүн рейтингине да таасир этет. AI - натыйжалуулукту аныктоодо, өлчөө натыйжаларын чечмелөөдө жана оптималдаштырууну сунуш кылууда күчтүү жардамчы. Бирок алтын эреже бойдон калууда: адегенде өлчөө, кийинчерээк оптималдаштыруу. Бул бөлүмдө биз AI менен иштөө жана батарея көйгөйлөрүн маалыматка негизделген жол менен чечүүнү үйрөнөбүз. Өзгөчө маанилүү маселе - бул батареяга тийгизген таасирин жана биз мурунку бирдиктерге кошкон AI мүмкүнчүлүктөрүнүн иштешин башкаруу (түзмөктөгү модель, булут чалуу).
Өлчөөсүз оптималдаштыруу
Тажрыйбасы жок иштеп чыгуучунун эң чоң катасы - алдын ала оптималдаштыруу: "бул жай болушу керек" деп убакытты текке кетирүү. Чыныгы кыйынчылык дээрлик дайыма күтүлбөгөн жерден болот. Ошентип, адегенде профиль алынат (профилдөө — тиркеменин кайсы бөлүгү канча убакыт/эсти/батареяны сарптаарын өлчөө). Android Studio Profiler жана Xcode Instruments бул жумуш үчүн. Өлчөө маалыматтарын AIга берүү интерпретацияны тездетет; Бирок өлчөөсүз, AIга "менин тиркемесим жай, аны тездетиңиз" деп айтуу сокур түрдө болжолдоону билдирет.
аткаруунун төрт негизги огу болуп саналат:
огу
симптом
типтүү себеп
Баштоо убактысы
Колдонмо кеч ачылат
Негизги жипте оор жумуш
Акылдуулук (жанк)
Жылдыруу тыгылып калат
Узак иштетүү, UI жипинде керексиз кайра тартуу
эс
шишик, коллапс
Агышуу, чоң сүрөт, кэш көзөмөлдөнбөйт
батарея/жылуулук
тез эякуляция
Үзгүлтүксүз жайгашкан жер, тармак, сенсор, фондо жумуш
Кеңеш: AIдан өндүрүмдүүлүк маселеси жөнүндө сураганда, профилдин жыйынтыгын бериңиз (кайсы функция канча убакытты талап кылат, эстутум графиги). "Бул функция бир кадрга 30 мс талап кылынат" сыяктуу катаал маалыматтар AIге чыныгы кыйынчылыкка көңүл бурууга мүмкүндүк берет; "жай" сыяктуу субъективдүү сөз айкашы жалпы жана пайдасыз жоопту жаратат.
AI жөндөмдүүлүктөрүнүн батареянын баасы
Бул модулда биз кошкон AI өзгөчөлүктөрү күчтүү, бирок алар бекер эмес. Түзмөктөгү моделди чыгаруу процессорду жана батарейканы чыңдайт; Үзгүлтүксүз иштеп жаткан сүрөт таануу (мисалы, ар бир кадрды иштетүүчү камера) телефонду ысытып, батареяны бир нече мүнөттүн ичинде түгөтөт. Cloud AI чалуулары, экинчи жагынан, тармактык радиону (маалыматтарды жөнөтүүчү жана кабыл алган антеннаны) ар дайым күйгүзүү менен батареяны жейт. Чечимдер: түзмөктөгү моделди керек болгондо гана иштетиңиз, камераны ар бир кадрдын ордуна секундасына бир нече жолу тандаңыз, булут өтүнүчтөрүн партия жөнөтүңүз, түзмөк кубатталып жатканда же иштебей турганда оор жүктөрдү көтөрүңүз.
Эскертүү: Үзгүлтүксүз иштеп турган AI өзгөчөлүгү (тирүү котормо, үзгүлтүксүз объектти таануу) батареяны тез эле түгөтүп, аппаратты ысытып, системанын күчү менен өчүрүлүшү мүмкүн. Колдонуучуга бул баа жок кылынганын сездирген өзгөчөлүк. Мен ар дайым AIдан "бул функцияны кантип батарейкага ыңгайлуу кылам?" деп сурайм. Ошондой эле суроо бер.
Оптималдаштыруу кадамдары
- өлчөө. Profiler менен чыныгы кыйынчылыкты табыңыз; ойлобо.
- Эң чоң көйгөйдү тандаңыз. 1% жакшыруунун артынан түшпөңүз; Эң кымбат транзакцияга умтулуңуз.
- Маалымат менен AIдан сураңыз. Профиль чыгаруу + тиешелүү код менен оптималдаштыруу сунушун сураңыз.
- Колдонуу жана кайра өлчөө. Жакшыртуу чынбы? Номер азайып кеттиби?
- Регрессиялык башкаруу. Оптималдаштыруу эч нерсени буздубу? Визуалдык жана функционалдык сыноону кайталаңыз.
үч мини учурлар
1-жагдай - Туура эмес жерден издөө. Бир команда тизмелер тыгылып калды деп ойлоду жана бир нече жума бою жылдыруу кодун кайра иштеп чыгышты. Алар профилдерди алып, маалыматтарды AIга бергенде, чыныгы кыйынчылык ар бир сап менен тармак аркылуу кайра жүктөлүп жаткан сүрөттөр экени белгилүү болду. Визуалдык кэш кошулганда, эркиндик 42 FPSден 60 FPSге чейин жогорулады. Сабак: өлчөө бир нече жумалык пайдасыз аракеттерден сактайт.
Case 2 - Батарея монстр өзгөчөлүгү. Котормо колдонмосу камера менен жандуу текст котормосун кошту; Колдонуучулар "телефон 15 мүнөттө ысып, батарейкасынын 30%ы түгөнүп калды" деп нааразы болушкан. AI менен кеңешкенде, камера секундасына 30 кадрды иштетип жатканы аныкталган; Бул 5 кадрга чейин кыскарып, натыйжа бир нече кадр аралыкта жаңыртылганда, батареяны керектөө үчтөн бирине чейин азайып, сапаты байкалбай калган. Сабак: AI ар дайым батареянын көзү менен орнотуңуз.
3-жагдай — жай башталышы. Колдонмо 4,5 секундада ачылды; Колдонуучулардын 20% ишке киргизүүдө чыгып жатышты. Профиль бардык баштапкы иштер (аналитика, маалыматтарды жүктөө, моделди даярдоо) негизги жипте ырааттуу түрдө аткарылгандыгын көрсөттү. AI сунушу менен булар кийинкиге калтырылып, арткы планга коюлду; Ачылыш убактысы 1,3 секундага чейин кыскарды, ал эми таштоо ылдамдыгы эки эсеге кыскарды. Сабак: башында маанилүү иштерди гана аткарыңыз.
Алсыз тездик / Күчтүү тездик
Алсыз эскертүү: "Менин колдонмом жай, аны тездетиңиз."
Күчтүү чакырык: "Тизмени сыдыруу менин Android тиркемесиме тыгылып калды (жанк). Профильердин берилиштери: bindImageView ар бир кадрга 28 мс убакытты алат, сүрөттөр ар бир жолу тармактан жүктөлөт, кэш жок. Тиешелүү код: [RecyclerView адаптер коду]. Эң эффективдүү 3 оптималдаштырууну таасир ирети боюнча сунуштаңыз. Күтүлгөн пайданы жана мүмкүн болгон терс таасирлерди төмөндөтпөгөн ар бир сүрөттөлүштү белгилеңиз. сапаты».
Көчүрмө шаблондор
Кыйынчылыктарды талдоо шаблону: "Төмөнкү профилдик маалыматтарды чечмелеп, эң кымбат 3 операцияны табыңыз: [профилдердин чыгышы]. Мүмкүн болгон себепти жана ар бири үчүн конкреттүү оптималдаштырууну сунуштаңыз. Адегенде эң жогорку таасирди бериңиз."
Батареяны оптималдаштыруу үлгүсү:"Бул функция батареяны бат эле түгөтөт: [функция, мис., туруктуу жайгашкан жер]. Аны батареяга ыңгайлуу кылыңыз:- Үлгү алуу жыштыгын азайтыңыз- Фондогу чектөө- Партиялык иштетүү- Керек болгондо гана иштетиңиз Колдонуучунун тажрыйбасын бузбастан чечимдерди иргеңиз. [код]"
Ишке киргизүүнү тездетүү шаблону: "Колдонмону баштоону тездетүү. Учурда ишке киргизүүдө аткарылып жаткан иштер: [тизме]. Кайсынысын кийинкиге калтырса, фонго түшүрсө же жалкоолонсо болот? Негизгилерин бөлүп алыңыз. [код]"
AI өзгөчөлүгүнүн баасынын шаблону: "Мен кошкон [түзмөктөгү модель/булут чалуу] функциясынын майнаптуулугун жана батареянын баасын баалаңыз. Мен өлчөө керек болгон көрсөткүчтөрдү жана бааны азайтуу стратегияларын тизмектеңиз. [код]"
Жалпы каталар
- Өлчөөсүз оптималдаштыруу. Чыныгы кыйынчылык көбүнчө болжолдонгондон башка жерде болот.
- Кичи пейилдикке умтулуу. 1% жакшыртууга эмес, эң кымбат аракетке умтулуңуз.
- AI функцияларынын батарейканын баасын эске албай. Дайыма иштеп жаткан модель/камера/тармак батареяны жейт.
- Негизги теманы чарчатып. Баштоо жана жылдыруунун оор жүктөрү UI жипинде болбошу керек.
- Оптимизациядан кийин кайра өлчөө эмес. Жакшыртуу реалдуу экенин жана эч нерсени бузбагандыгын текшериңиз.
- Эмулятордо өндүрүмдүүлүктү өлчөө. Аппараттын иш жүзүндөгү ылдамдыгы, температурасы жана батареясы таптакыр башкача.
Кыскача айтканда
Өндүрүмдүүлүк жана батарейка - бул мобилдик тиркеменин аман калуу маселеси. Алтын эреже: адегенде өлчөө, кийинчерээк оптималдаштыруу. AIга профилдик маалыматтарды берүү интерпретацияны тездетет; «Тездетүүгө» болгон чексиз каалоо сокур божомолдорго алып келет. Эң кымбат транзакцияга умтулуңуз, аз пайданын артынан түшпөңүз. Бул модулда кошулган AI мүмкүнчүлүктөрү күчтүү, бирок батареянын жана процессордун чыгымдарын көтөрөт; Үлгү алуу жыштыгын азайтуу, пакеттөө жана керек болгондо гана иштетүү аркылуу бул чыгымды башкарыңыз. Ар бир оптималдаштыруудан кийин чыныгы түзмөктө дагы өлчөңүз.
Колдонмо тапшырмасы
Профильди тиркемеге импорттоо (өзүңүздүн жеке долбооруңуз же мисалыңыз) же үлгүдөгү профайл чыгарууну түзүп, аны AI тарабынан "Төкмө талдоо шаблоны" менен чечмелеңиз. Эң жогорку эффекти оптималдаштырууну колдонуңуз жана дагы бир жолу өлчөңүз: саны чындап эле төмөндөп кеттиби? Ошондой эле, сиз бул модулга кошкон AI өзгөчөлүгүн (түзмөктөгү модель же булут чалуу) "AI өзгөчөлүгүнүн баасы шаблону" менен батарейка жагынан баалаңыз жана жок дегенде бир батареяга ыңгайлуу параметрди аныктаңыз.
текшерүү тизмеси
- [ ] Мен оптималдаштыруудан мурун профилди алдым, мен ойлогон эмесмин
- [ ] Эң кымбат сооданы максат кылдым, кичине пайдага чачкан жокмун
- [ ] Мен AI профилинин маалыматтарын конкреттүү сандар менен бердим
- [ ] Мен AI функцияларынын батарейканын/процессордун баасын бааладым
- [ ] Мен негизги жиптен оор жүктү алып салдым
- [ ] Оптималдаштыруудан кийин мен чыныгы түзмөктө кайрадан өлчөп, регрессияны текшердим