Nasveti in najboljše prakse za izboljšanje delovanja aplikacij s platnom

V prejšnjih člankih ste izvedeli za faze izvajanja in potek klicev podatkov, pogoste razloge za počasno delovanje in pogoste težave z zmogljivostjo in ločljivostjo v aplikacijah s platnom. Funkcije lahko izkoristite tudi tako, da upoštevate nasvete in najboljše postopke v tem članku za povečanje učinkovitosti aplikacij, ki jih ustvarite.

Omejitev podatkovnih povezav

Ne povezujte se z več kot 30 viri podatkov iz iste aplikacije. Aplikacije pozivajo nove uporabnike, da se vpišejo v vsak povezovalnik, zato vsak dodatni povezovalnik poveča čas, ki ga aplikacija potrebuje za zagon. Med izvajanjem aplikacije vsak povezovalnik potrebuje vire CPE, pomnilnik in omrežno pasovno širino, ko aplikacija zahteva podatke iz tega vira.

Uspešnost aplikacije lahko hitro izmerite tako, da vklopite orodja za razvijalce Microsoft Edge oz Google Chrome med izvajanjem aplikacije. Verjetnost, da bo vaša aplikacija vrnila podatke, bo trajala več kot 15 sekund, če pogosto zahteva podatke iz več kot 30 virov podatkov, kot so Microsoft Dataverse, Azure SQL, SharePoint in Excel na OneDrive.

Omejitev števila kontrolnikov

V isto aplikacijo ne dodajte več kot 500 kontrolnikov. Power Apps ustvari objektni model dokumenta HTML za upodabljanje vsakega kontrolnika. Več kontrol kot dodate, več časa za ustvarjanje potrebuje Power Apps.

V nekaterih primerih lahko dosežete enak rezultat in aplikacijo zaženete hitreje, če namesto posameznih kontrolnikov uporabite galerijo. Poleg tega boste morda želeli zmanjšati število vrst kontrolnikov na istem zaslonu. Nekateri kontrolniki (na primer pregledovalnik datotek PDF, podatkovna tabela in kombinirano polje) prikažejo velike skripte izvajanja in traja dlje časa, če jih želite upodobiti.

Optimizacija lastnosti OnStart

S funkcijo ClearCollect podatke predpomnite lokalno, če se med sejo uporabnika ne spremenijo. Uporabite tudi funkcijo Hkratno za hkratno nalaganje virov podatkov; to lahko zmanjša čas, ki ga potrebuje aplikacija za nalaganje podatkov, za polovico. Več informacij: Sočasna funkcija v Power Apps

Brez funkcije Hkratno naslednja formula naloži vsako od štirih tabel eno za drugo:

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

Tako vedenje lahko potrdite v orodjih za razvijalce za vaš brskalnik, kot je prikazano na naslednji sliki.

Diagram, ki prikazuje štiri tabele, ki se nalagajo eden za drugim.

Enako formulo lahko vstavite v funkcijo Concurrent za zmanjšanje skupnega časa, ki ga postopek potrebuje:

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

S to spremembo aplikacija vzporedno pridobi tabele, kot je prikazano na naslednji sliki.

Diagram, ki prikazuje štiri tabele, ki se nalagajo hkrati.

Opomba

Če želite več informacij o težavah z zmogljivostjo in ločljivostih, povezanih s funkcijo OnStart, preberite razdelek Za dogodek OnStart je potrebno uglaševanje.

Nasvet

Priporočamo uporabo App.StartScreen lastnost, saj poenostavlja zagon aplikacije in povečuje učinkovitost aplikacije.

Predpomnjenje podatkov za iskanje

S funkcijo Set lokalno predpomnite podatke iz tabel za iskanje, da preprečite večkratno pridobivanje podatkov iz vira. Ta tehnika optimizira učinkovitost, če se podatki verjetno ne bodo spremenili med sejo. Kot v naslednjem primeru se podatki enkrat pridobijo iz vira, nato pa se nanj sklicuje lokalno, dokler uporabnik ne zapre aplikacije.

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

Ta način je uporabnejši za podatke, kot so podatki za stik, privzete vrednosti ali informacije o uporabniku, ki se ne spreminjajo pogosto. To tehniko lahko uporabite tudi s funkcijama Privzeto in Uporabnik.

Izogibajte se odvisnosti kontrolnikov med zasloni

Za izboljšanje zmogljivosti se zasloni aplikacije naložijo v pomnilnik le, kadar je to potrebno. Ta optimizacija je lahko ovirana, če je na primer naložen zaslon 1 in ena od njegovih formul uporablja lastnost kontrolnika z zaslona 2. Zdaj je treba naložiti zaslon 2, da zagotovite odvisnost, preden se lahko prikaže zaslon 1. Predstavljajte si, da ima zaslon 2 odvisnost od zaslona 3, ki ima tudi odvisnost od zaslona 4 in tako naprej. Ta veriga odvisnosti lahko povzroči, da se naložijo številni zasloni.

Iz tega razloga se izogibajte odvisnosti od formul med zasloni. V nekaterih primerih lahko za izmenjavo informacij med zasloni uporabite globalno spremenljivko ali zbirko.

Izjema: pri prejšnjem primeru si predstavljajte, da je edini način prikaza zaslon 1 pomik z zaslona 2. Potem bo zaslon 2 že naložen v pomnilnik, ko bo naložen zaslon 1. Za izpolnitev odvisnosti za zaslon 2 ni potrebno dodatno delo, zato ni vpliva na zmogljivost.

Uporaba pooblastitev

Kjer je mogoče, uporabite funkcije, ki za obdelavo podatkov pooblastijo vir podatkov, namesto da bi za obdelavo podatke prenesli v lokalno napravo. Če mora aplikacija obdelati podatke lokalno, operacija zahteva veliko več procesorske moči, pomnilnika in pasovne širine omrežja, zlasti če je nabor podatkov velik.

Nasvet

Če želite izvedeti več o funkcijah, ki jih je mogoče dodeliti, ki jih podpirajo določeni povezovalniki, glejte razdelek Dokumentacija za povezovalnik.

Za primer prenosljivih funkcij si oglejte stolpec ID, definiran kot Številka podatkovni tip na seznamu SharePoint. Formule v naslednjem primeru bodo rezultate vrnile po pričakovanjih. Vendar je prvo formulo mogoče dodeliti, druge pa ne.

Formula Ali je možna dodelitev?
Filter ('SharePoint list data source', ID = 123 ) Da
Filter(`SharePoint list data source', ID ="123") No

Ker predpostavljamo, da je stolpec ID v SharePoint definiran s podatkovnim tipom Številka, mora biti vrednost na desni strani številska spremenljivka namesto nizovne spremenljivke. V nasprotnem primeru lahko takšno neujemanje sproži, da formule ni mogoče dodeliti.

Uporaba funkcij, ki jih ni mogoče dodeliti, in neprimerna omejitev podatkovnih vrstic za poizvedbe, ki jih ni mogoče dodeliti, lahko škodljivo vpliva na delovanje aplikacije. Več informacij: Razumevanje pooblastitve v aplikaciji s platnom

Uporaba zakasnjenega nalaganja

Vklopite preskusno funkcijo za zakasnjeno nalaganje, če ima vaša aplikacija več kot 10 zaslonov, brez pravil in veliko kontrolnikov, ki so na več zaslonih in so neposredno vezani na vir podatkov. Če zgradite to vrsto aplikacije in te funkcije ne omogočite, lahko delovanje aplikacije trpi, ker morajo biti kontrolniki na vseh zaslonih zapolnjeni tudi na zaslonih, ki niso odprti. Prav tako je treba posodobiti vse zaslone aplikacije, kadar se vir podatkov spremeni, na primer, ko uporabnik doda zapis.

Delo z velikimi nabori podatkov

Uporabljajte vire podatkov in formule, ki jih je mogoče dodeliti, da bodo vaše aplikacije uspešno delovale, uporabniki pa bodo lahko dostopali do vseh informacij, ki jih potrebujejo, in preprečite, da bi dosegli omejitev števila podatkovnih vrstic (2000) za poizvedbe, ki jih ni mogoče dodeliti. Za stolpce podatkovnih zapisov, po katerih lahko uporabniki iščejo, filtrirajo ali razvrščajo podatke, uporabite indekse na stolpcih, kot opisujejo viri podatkov, kot je npr.SQL Server oz SharePoint.

Opomba

Za dodatne informacije o tem, kako lahko veliki nabori podatkov povzročajo pogoste težave z zmogljivostjo na različnih platformah, preberite razdelek Veliki nabori podatkov se počasi nalagajo na različnih platformah.

Redna ponovna objava aplikacij

Ustvarjalce spodbujamo, da redno objavljajo svoje aplikacije. Ker se platforma Power Apps nenehno optimizira in uvaja, se vaša aplikacija regenerira v okviru najnovejših optimizacij platforme, ko jo znova objavite.

Izogibajte se ponavljanju enake formule na več mestih

Če več lastnosti uporablja enako formulo (zlasti če je zapletena), razmislite o njeni nastavitvi in se nato sklicujte na izhodno vrednost prve lastnosti pri naslednjih. Na primer, ne nastavite lastnosti DisplayMode za kontrolnike A, B, C, D in E na enako zapleteno formulo. Namesto tega nastavite lastnost DisplayMode za A na zapleteno formulo, lastnost DisplayMode za B na rezultat lastnosti DisplayMode za A, nato pa enako še za C, D in E.

Omogočanje možnosti DelayOutput za vse kontrolnike »Vnos besedila«

Če imate več formul ali pravil, ki se nanašajo na vrednost kontrolnika Text input, nastavite lastnost DelayedOutput za ta kontrolnik na »true«. Lastnost Besedilo kontrolnika se bo posodobila šele, ko prenehate hitro zaporedno tipkanje. Formule ali pravila se ne bodo izvajali tolikokrat, uspešnost aplikacij pa se bo izboljšala.

Izogibajte se uporabi možnosti Form.Updates pri pravilih in formulah

Če se sklicujete na vrednost, ki jo je vnesel uporabnik, v pravilu ali formuli z uporabo spremenljivke Form.Updates, se to ponovi za vse podatkovne kartice obrazca in vsakič se ustvari zapis. Če želite izboljšati učinkovitost aplikacije, se na vrednost sklicujte neposredno prek podatkovne kartice ali vrednosti kontrolnika.

Od konfiguracije je odvisno, kako dolgo bo trajalo, da Galerija upodobi vidne vrstice. Obstaja nekaj načinov za izboljšanje učinkovitosti.

  • Poenostavite predlogo. Razmislite na primer o zmanjšanju števila kontrolnikov in sklicev na iskanja.
  • Galerije s kompleksnimi predlogami lahko bolje delujejo, če DelayItemLoading nastavite na true in LoadingSpinner nastavite na LoadingSpinner.Controls. Ta sprememba bo izboljšala zaznano izkušnjo, ko bo čas upodobitve daljši. DelayItemLoading bo tudi odložil upodobitev predlog, zaradi česar se bo lahko preostali del zaslona hitreje upodobil, saj se zaslon in galerija ne potegujeta za iste vire.

Naslednji koraki

Preglejte standarde kodiranja za povečanje učinkovitosti delovanja aplikacij in enostavnejše vzdrževanje aplikacij.

Glejte tudi

Razumevanje faz izvajanja aplikacije s platnom in poteka klicev podatkov
Pogoste težave z učinkovitostjo delovanja aplikacij s platnom in rešitve zanje
Pogosti viri počasnega delovanja aplikacije s platnom
Pogoste težave in rešitve za Power Apps
Odpravljanje težav pri zagonu Power Apps