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

V eno aplikacijo ne dodajte več kot 30 povezav. 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.

Učinkovitost aplikacije lahko hitro izmerite tako, da med izvajanjem aplikacije vklopite orodja za razvijalce v brskalniku Microsoft Edge ali Google Chrome. Za vašo aplikacijo bo verjetno trajalo več kot 15 sekund, da se vrnejo podatki, če pogosto zahteva podatke z več kot 30 povezav. Vsaka dodana povezava se v tej omejitvi šteje posamično ne glede na vrsto povezanega vira podatkov—kot je Microsoft Dataverse ali tabele SQL Server ali seznami, ustvarjeni z uporabo Seznami Microsoft.

Omejitev števila kontrolnikov

V eno aplikacijo ne dodajte več kot 500 kontrolnikov. Power Apps ustvari objektni model dokumenta HTML za upodabljanje vsakega kontrolnika. Več ko dodate kontrolnikov, več časa bo potrebovala storitev Power Apps za zagon.

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: Funkcija Hkratno v storitvi 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 lastnosti App.StartScreen, saj poenostavlja zagon aplikacije in povečuje učinkovitost delovanja 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 funkcij, ki jih je mogoče dodeliti, razmislite o stolpcu ID, ki je definiran kot vrsta podatkov Število na seznamu, ustvarjenem z aplikacijo Seznami Microsoft. 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 ('List data source', ID = 123 ) Da
Filter(`List data source', ID ="123") Ne

Ker predvidevamo, da je stolpec ID v storitvi SharePoint definiran z vrsto podatkov Število, mora biti desna vrednost številska spremenljivka, in ne spremenljivka niza. 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 funkcijo predogleda za zakasnjeno nalaganje, če ima 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 za zapis podatkov, na katerih lahko uporabniki iščejo, filtrirajo ali razvrščajo podatke, uporabite indekse na stolpcih, kot opisujejo viri podatkov, kot je SQL Server ali 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 znova ustvari z najnovejšimi optimizacijami 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.

Za izboljšanje delovanja v galeriji uporabite funkcijo DelayItemLoading in nalaganje pomikalnika

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.

Omogočite možnost Vnaprej naloži aplikacijo za izboljšano učinkovitost delovanja

Izbirno lahko prednaložite aplikacijo, da izboljšate učinkovitost delovanja.

  1. Vpišite se na mestu Power Apps, nato pa v meniju izberite Aplikacije.

  2. Izberite Več dejanj (...) za aplikacijo, ki jo želite dati v skupno rabo, nato pa izberite Nastavitve.

  3. Na plošči nastavitev preklopite Prednalaganje aplikacije za izboljšano učinkovitost delovanja na Da. Aplikacija se bo nato prednaložila.

Vnaprej naloži aplikacijo za izboljšano učinkovitost delovanja.

  1. Da uveljavite spremembe za aplikacije, vdelane v Teams, odstranite in znova dodajte aplikacijo v Teams.

    Opomba

    Tako so prevedena sredstva aplikacije dostopna prek končnih točk brez preverjene pristnosti, da se omogoči njihovo nalaganje pred preverjanjem pristnosti. Vendar lahko uporabniki še vedno uporabljajo vašo aplikacijo za dostop do podatkov prek povezovalnikov šele po dokončanem preverjanju pristnosti in avtorizaciji. To vedenje zagotavlja, da podatki, ki jih aplikacija pridobi iz virov podatkov, ne bodo na voljo nepooblaščenim uporabnikom. Prevedena sredstva aplikacije vključujejo zbirko datotek JavaScript, ki vsebujejo besedilo, ustvarjeno v kontrolnikih aplikacije (kot so kontrolniki PCF), predstavnostna sredstva (kot so slike), ime aplikacije in URL okolja, v katerem je aplikacija.

    Na splošno morajo aplikacije pridobiti predstavnost in informacije iz virov podatkov prek povezav. Če je treba v aplikacijo dodati medije in podatke, ne da bi prišli iz povezave, in se štejejo za občutljive, boste morda želeli onemogočiti to nastavitev. Če onemogočite to nastavitev, bodo uporabniki na dostop do aplikacije čakali nekoliko dlje.

Podatki aplikacij, shranjeni v napravi

Da bi uporabnikom omogočili hitrejše pridobivanje podrobnosti aplikacije ob zagonu aplikacije, so nekateri podatki lokalno shranjeni v vaši napravi v predpomnilniku brskalnika. Podatki, ki so shranjeni, vključujejo podrobnosti o aplikaciji, okolju in povezavi. Ti podatki bodo ostali shranjeni v brskalniku glede na omejitve shranjevanja vsakega brskalnika. Če želite izbrisati shranjene podatke, glejte navodila za vsak brskalnik.

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 storitev Power Apps
Odpravljanje težav pri zagonu za Power Apps

Opomba

Ali nam lahko poveste, kateri je vaš prednostni jezik za dokumentacijo? Izpolnite kratko anketo. (upoštevajte, da je v angleščini)

Z anketo boste porabili približno sedem minut. Ne zbiramo nobenih osebnih podatkov (izjava o zasebnosti).