Mihise aplikazioen errendimendua hobetzeko aholkuak eta praktika onak

Aurreko artikuluetan, exekuzio faseak eta datu deien fluxua, errendimendu geldoaren iturri arruntak, eta ohiko errendimendu arazoak eta ebazpenak mihise aplikazioetan. Artikulu honetako aholkuak eta praktika onak jarraituz ere etekina atera dezakezu sortzen dituzun aplikazioen errendimendua hobetzeko.

Datu konexioak mugatzea

Ez gehitu 30 konexio baino gehiago aplikazio batean. Aplikazioek erabiltzaile berriei konektagailu bakoitzean saioa hasteko eskatzen diete, beraz, konektore gehigarri bakoitzak aplikazioak abiarazi behar duen denbora handitzen du. Aplikazioa exekutatzen den bitartean, konektore bakoitzak CPU baliabideak, memoria eta sarearen banda zabalera behar ditu aplikazioak iturri horretatik datuak eskatzen dituenean.

Zure aplikazioaren errendimendua azkar neurtu dezakezu garatzaileen tresnak aktibatuta Microsoft Edge-n edo Google Chrome aplikazioa exekutatzen duzun bitartean. Zure aplikazioak 15 segundo baino gehiago behar ditu datuak itzultzeko maiz 30 datu iturri baino gehiagotan eskatzen baditu.. Gehitutako konexio bakoitza banaka zenbatuko da muga honetan, konektatuta datu-iturburu mota edozein dela ere—esaterako Microsoft Dataverse edo SQL Server taulak, edo Microsoft Zerrendak erabiliz sortutako zerrendak.

Mugatu kontrol kopurua

Ez gehitu 500 kontrol baino gehiago aplikazio batean. Power Apps kontrol dokumentua HTML dokumentuen objektu eredu bat sortzen du. Zenbat eta kontrol gehiago gehitu, orduan eta belaunaldi gehiago egongo da Power Apps behar du.

Zenbait kasutan, emaitza bera lor dezakezu eta aplikazioa azkarrago abiaraztea galeria bat erabiltzen baduzu banakako kontrolen ordez. Gainera, baliteke pantaila berean kontrol mota kopurua murriztea. Zenbait kontrolek (PDF ikuslea, datuen taula eta konbinazio-koadroa) exekuzio-script handiak jasotzen dituzte eta denbora gehiago behar dute errendatzeko.

Optimizatu OnStart propietatea

Erabili ClearCollect erabiltzailea saioan aldatzen ez bada, datuak lokalean gordetzeko. Gainera, erabili Aldiberekoa datu iturriak aldi berean kargatzeko funtzioa; Honek aplikazio batek datuak kargatzeko behar duen denbora murriztu dezake. Informazio gehiago: Funtzio aldibakoa Power Apps

Gabe Aldiberekoa funtzioak, formula honek lau taulak banan-banan kargatzen ditu:

ClearCollect( Product, '[SalesLT].[Product]' );
ClearCollect( Customer, '[SalesLT].[Customer]' );
ClearCollect( SalesOrderDetail, '[SalesLT].[SalesOrderDetail]' );
ClearCollect( SalesOrderHeader, '[SalesLT].[SalesOrderHeader]' )

Jokabide hori berretsi dezakezu zure arakatzailearen Garatzaile Tresnetan, hurrengo irudian agertzen den moduan.

Lau taulak bata bestearen atzetik kargatzen ari direla erakusten duen diagrama.

Formula bera erantsi dezakezu Concurrent funtzioak eragiketak behar duen denbora orokorra murrizteko:

Concurrent( 
    ClearCollect( Product, '[SalesLT].[Product]' ),
    ClearCollect( Customer, '[SalesLT].[Customer]' ),
    ClearCollect( SalesOrderDetail, '[SalesLT].[SalesOrderDetail]' ),
    ClearCollect( SalesOrderHeader, '[SalesLT].[SalesOrderHeader]' ))

Aldaketa honekin, aplikazioak taulak paraleloan eskuratzen ditu, hurrengo irudian agertzen den moduan.

Lau taulak aldi berean kargatzen ari direla erakusten duen diagrama.

Oharra

OnStart-ekin lotutako errendimendu arazoei eta ebazpenei buruzko informazio gehiago lortzeko, irakurri OnStart gertaerak sintonizazioa behar du.

Argibidea

Erabiltzea gomendatzen dugu App.StartScreen propietatea aplikazioaren abiaraztea errazten duelako eta aplikazioaren errendimendua areagotzen duelako.

Cachearen bilaketa datuak

Erabili Set funtzioa bilatzea tokiko bilaketa tauletako datuak biltegiratzea, iturburuko datuak behin eta berriz berreskuratzeko. Teknika honek errendimendua optimizatzen du datuak ziurrenik saio batean aldatzen ez badira. Hurrengo adibidean erakutsi bezala, datuak iturritik berreskuratzen dira behin eta gero, lokalki erreferentzia egiten zaie erabiltzaileak aplikazioa itxi arte.

Set(CustomerOrder, Lookup(Order, id = “123-45-6789”));
Set(CustomerName, CustomerOrder.Name);
Set(CustomerAddress, CustomerOrder.Address);
Set(CustomerEmail, CustomerOrder.Email);
Set(CustomerPhone, CustomerOrder.Phone);

Metodo hau erabilgarriagoa da harremanetarako informazioa, balio lehenetsiak edo maiz aldatzen ez den erabiltzailearen informazioa bezalako datuetarako. Teknika hau ere erabil dezakezu Lehenetsiak eta Erabiltzailea funtzioak.

Saihestu pantailen arteko kontrol mendekotasuna

Errendimendua hobetzeko, aplikazio baten pantailak memorian kargatzen dira behar diren neurrian. Optimizazio hori oztopatu egin daiteke, adibidez, 1. pantaila kargatzen bada eta bere formuletako batek 2. pantailako kontrol baten propietatea erabiltzen badu. Orain 2. pantaila kargatu behar da menpekotasuna betetzeko, 1. pantaila bistaratu aurretik. Imajinatu 2. pantailak 3. pantailarekiko dependentzia du, 4. pantailan beste dependentzia bat du, eta abar. Dependentzia kate honek pantaila asko kargatu ditzake.

Hori dela eta, saihestu formula pantailen arteko mendekotasunak. Zenbait kasutan, aldagai edo bilduma globala erabil dezakezu pantailen artean informazioa partekatzeko.

Salbuespen bat dago: Aurreko adibidean imajinatu 1. pantaila bistaratzeko modu bakarra 2. pantailatik nabigatzen dela. Ondoren, 2. pantaila dagoeneko kargatuta egongo da memorian 1. pantaila kargatu behar denean. Ez da lan gehigarririk behar 2. pantailako mendekotasuna betetzeko eta, beraz, ez dago inolako eraginik.

Erabili ordezkaritza

Ahal izanez gero, erabili datuen tratamendua datu-iturburuaren esku uzten dutenak, datuak prozesatzeko tokiko gailuan berreskuratu ordez. Aplikazio batek datuak lokalki prozesatu behar baditu, eragiketak askoz prozesatze potentzia, memoria eta sare banda zabalera askoz gehiago behar ditu, batez ere datu multzoa handia bada.

Argibidea

Konektore espezifikoek onartzen dituzten funtzio delegagarriak ezagutzeko, joan konektorearen dokumentazioa.

Ordezkatutako funtzioen adibide bat lortzeko, kontuan hartu Zenbakia datu mota Microsoft Lists erabiliz sortutako zerrenda batean. Hurrengo adibideko formulek emaitzak espero bezala itzuliko dituzte. Hala ere, lehenengo formula delegagarria da eta bigarrena delegagarria ez dena.

Formula Delegagarria?
Filter ('List data source', ID = 123 ) Yes
Filter(`List data source', ID ="123") Ez

Onartzen dugulako ID zutabea SharePoint definitua datu motak Zenbakia, eskuinaldearen balioa zenbakizko adierazlea izan behar luke lerroaren aldagaia beharrean. Bestela, desadostasun horrek formula delegagarria ez izatea eragin dezake.

Erabilera delegaezinak ez diren funtzioak eta datu errenkada muga desegokien erabili ezin diren kontsultetarako kaltegarriak izan ditzake aplikazioaren errendimenduan. Informazio gehiago: Ulertu delegazioa mihise aplikazioan

Erabili atzeratutako karga

Aktibatu aldez aurreko ikusmen funtzioa atzeratutako kargarako, baldin eta aplikazioak 10 pantaila, arau eta kontrol asko baditu, hainbat pantailatan daudenak eta datu-iturburu zuzenean lotuta daudenak. Aplikazio mota hau eraikitzen baduzu eta funtzio hau gaitzen ez baduzu, aplikazioaren errendimendua jasan daiteke pantaila guztietako kontrolak irekita ez dauden pantailetan ere bete behar direlako. Gainera, aplikazioaren pantaila guztiak eguneratu behar dira datu-iturburu aldatzen den bakoitzean, adibidez, erabiltzaileak erregistro bat gehitzen duenean.

Datu multzo handiekin lan egitea

Erabil itzazu delegatu daitezkeen datu-iturriak eta formulak, aplikazioak ongi funtziona dezaten erabiltzaileek behar duten informazio guztia sar dezaten bitartean, eta saihestu 2000 errenkadaren muga ez hautatzea delegagarriak ez diren kontsultetarako. Erabiltzaileek datuak bilatu, iragazi edo ordenatu ditzaketen datuen erregistroetako zutabeetarako, erabili zutabeetako indizeak datu iturriek deskribatutako moduan, esaterako SQL zerbitzaria edo SharePoint.

Oharra

Datu multzo handiek plataforma desberdinetan ohiko errendimendu arazoak nola sor ditzaketen jakiteko informazio gehiago lortzeko, irakurri Datu multzo handiak poliki kargatzen ari dira plataforma desberdinetan.

Argitaratu berriro aplikazioak aldizka

Sortzaileek beren aplikazioak aldizka argitaratzera animatzen dituzte. Zeren Power Apps plataforma etengabe optimizatzen eta zabaltzen da, zure aplikazioa plataformaren azken optimizazioen barruan birsortzen da berriro argitaratzen duzunean.

Saihestu formula bera leku askotan errepikatzea

Hainbat propietatek formula bera exekutatzen badute (batez ere konplexua bada), kontuan hartu ezazu behin ezartzea eta, ondoren, lehenengo propietatearen irteera hurrengoetan aipatzea. Adibidez, ez ezazu DisplayMode A, B, C, D eta E kontrolen propietatea formula konplexu berdinera. Horren ordez, A’s ezarri DisplayMode propietate konplexuaren jabetza, B multzoa DisplayMode propietateak A-ren emaitza DisplayMode propietatea, eta abar C, D eta E.

Gaitu DelayOutput Testua idazteko kontrol guztietan

Balioa aipatzen duten formula edo arau anitz badituzu Testua idaztea kontrolean, ezarri DelayedOutput kontrol horren jabetza egiazkoa izatera. Testua kontrol horren propietatea segida bizkorrean sartutako teklak gelditu ondoren bakarrik eguneratuko da. Formulak edo arauak ez dira askotan exekutatuko eta aplikazioaren errendimendua hobetuko da.

Saihestu Form.Updates arau eta formuletan erabiltzea

Erabiltzailearen sarrera balio bat arau edo formula batean aipatzen baduzu a erabiliz Form.Updates aldakorra, inprimakiaren datu txartel guztiak errepikatzen ditu eta erregistro bat sortzen du aldi bakoitzean. Zure aplikazioa eraginkorragoa izan dadin, erreferentzi balioa zuzenean datu-txarteletik edo kontrol-balioetatik.

Erabili DelayItemLoading eta Loading spinner galerian errendimendua hobetzeko

Konfigurazioaren arabera, Galerian denbora gehiago behar da ikusgai dauden errenkadak errendatzeko. Errendimendua hobetzeko pare bat modu daude.

  • Sinplifikatu txantiloia. Adibidez, pentsa ezazu kontrol kopurua edo bilaketen erreferentziak murriztea.
  • Txantiloi konplexuak dituzten galeriek onura izan dezakete DelayItemLoading ezarri egia, eta LoadingSpinner ezarri LoadingSpinner.Controls. Aldaketa honek antzemandako esperientzia hobetuko du errendatze-denbora luzeagoa denean. DelayItemLoading txantiloien errendimendua ere atzeratuko du, gainerako pantailak azkarrago errenditzea ahalbidetuko baitu pantaila zein galeria baliabideen lehian ez daudelako.

Gaitu aurrez aurreko aplikazioa hobetzea

Aukera aurrez kargatu dezakezu aplikazioa errendimendua handitzeko.

  1. Hasi saioa Power Apps eta, ondoren, hautatu Aplikazioak menuan.

  2. Aukeratu Ekintza gehiago (...) partekatu nahi duzun aplikaziorako eta, ondoren, hautatu Ezarpenak.

  3. Ezarpenak panelean, txandakatu Aurrez aurreko aplikazioa hobetzea Bai. Ondoren, aplikazioa aurrez kargatuko da.

Errendimendu hobea lortzeko, aurrez kargatu aplikazioa.

  1. Aldaketak indarrean egon daitezen Teams-en kapsulatutako aplikazioetan, kendu eta gehitu aplikazioa berriro taldeetan.

    Oharra

    Hori dela eta, bildutako aplikazioaren baliabideak kautorik gabeko konexio-puntuen bidez eskuratu ahal izango dira, autentifikazioa baino lehen kargatu ahal izateko. Hala ere, erabiltzaileek lokailuen bidez soilik erabili ahal izango dute datuak lokailuen bidez eskuratzeko aplikazioa, autentifikazioa eta baimena osatu ondoren. Jokabide horrek bermatzen du aplikazio batek datu-iturrietatik berreskuratzen dituen datuak ez direla eskuragarri egongo baimendu gabeko erabiltzaileentzat. Bildutako aplikazio-baliabideek JavaScript artxibo-bilduma bat dute, aplikazio-kontroletan sortutako testua (PCF kontrolak, adibidez), multimedia baliabideak (irudiak, adibidez), aplikazioaren izena eta aplikazioa bizi den inguruneko URL helbidea biltzen dituena.

    Oro har, aplikazioek multimedia-edukia eta datu-jatorriko informazioa berreskuratu behar dituzte, konexioen bidez. Aplikazioari bitartekoak eta informazioa erantsi behar bazaizkio, konexio batetik etorri gabe, eta konfidentzialtzat jotzen bada, konfigurazio hori desgaitu nahi izango da. Kontuan izan konfigurazio hori desgaitzen badu, erabiltzaileek apur bat gehiago itxarongo dutela aplikazio bat eskuratzeko.

Bere gailuan biltegiratutako aplikazioaren datuak

Erabiltzaileek aplikazioaren xehetasunik azkarrenak berreskuratu ahal izateko, aplikazioa hasten denean, datu batzuk bere gailuan gordetzen dira nabigatzailearen katxe memorian. Biltegiratutao informazioak aplikazioaren, ingurunearen eta konexioaren xehetasunak biltzen ditu. Datu horiek nabigatzailean gordeko dira, nabigatzaile bakoitzaren biltegiratze-mugen arabera. Biltegiratutako datuak ezabatzeko, kontsultatu nabigatzaile bakoitzaren argibideak.

Hurrengo urratsak

Berrikusi kodetze estandarrak aplikazioaren errendimendua hobetzeko eta aplikazioak errazago mantentzeko.

Ikus baita ere

Ulertu mihise-aplikazioaren exekuzio-faseak eta dei-fluxuaren datuak
Ohiko mihise aplikazioaren errendimendu-arazoak eta konponbideak
Mihise aplikazio baten errendimendu geldoaren iturri arruntak
Ohiko arazoak eta ebazpenak hurrengorako Power Apps
Arazoak konpontzeko abioko arazoak Power Apps

Oharra

Esan diezagukezu dokumentazioa zein hizkuntzatan jaso nahi duzun? Egin inkesta labur bat. (kontuan izan inkesta hau ingelesez dagoela)

Inkestak zazpi minutu inguru iraungo du. Ez da datu pertsonalik biltzen (pribatutasun-adierazpena).