cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
komblog
Level: Powered On

App Randomly Restarts

Hi, im facing problem, an app that has been working fine now suddenly restarts every few minutes/seconds on iOS. To clarify, PowerApps itself is not restarting, the app built ON PowerApps suddenly back to first page.

 

Session ID : 885af279-6ecf-4b63-8430-ff3161a4e4ba

PowerApps Version : 3.19023.14

IOS Version : 11.4.1

 

Thanks

 

1 ACCEPTED SOLUTION

Accepted Solutions
PowerApps Staff Mr-Dang-MSFT
PowerApps Staff

Re: App Randomly Restarts

@bentonepi, thank you for the very detailed description.

 

The app is very likely restarting because you have 13 forms on a screen Smiley Happy

 

Each field in a form has 4 controls * 13 forms * # of fields per form makes for a lot of controls. I would advise against this pattern, even if it would seem efficient.

 

Do all forms need to be filled out in the same instance of the app? Asked another way, which forms are most important to fill out in the same instance?

 

What I'd do here is create a main screen that has links to each form or group of forms. It would launch the right form. If one form needs to be completed before another, I'd submit the first form, get its ID, then pass its ID to another form to pull in as a parameter.

 

There's a lot of other ways of doing this, but big idea is to not have hundreds of controls on a single screen. It's one of those 'just because you could doesn't mean you should' things.

14 REPLIES 14
komblog
Level: Powered On

Re: App Randomly Restarts

hi,

 

any update ?

PowerApps Staff Mr-Dang-MSFT
PowerApps Staff

Re: App Randomly Restarts

Hi @komblog

Can you share more about the setup of your app? How much data are you pulling in? Are you caching data using SaveData and LoadData? If so, what kind of data are you saving?

 

What iOS device is this and how much memory does it have?

bentonepi
Level: Power Up

Re: App Randomly Restarts

Hi @Mr-Dang-MSFT ,

I am having the same problem. One of my app users with an iPhone 6 reported that the app restarts to the splash screen as a random event when she is trying to add a new record.

 

The app is set up with a splash screen that lets the user pick their username. Then it navigates to a standard browse gallery on BrowseScreen, like what is built automatically from "build an app from data". Adding a record navigates to the EditScreen. I modified this edit screen to have 13 editable forms, rather than have 13 different screens. OnVisible calls "NewForm" for two of the forms (A and B). The other 11 forms are not initialized with EditScreen.OnVisible. These forms initialize as "EditForm" when the user checks a Check Control. These forms are submitted when the user is done with each form. Forms A and B are submitted when the user is done with all data entry, and navigates back to the browse gallery (if it is a new record) or the DetailScreen (if it is an edited record). All 13 forms use global variables for defaults, rather than connecting to the data source for each new record. The app writes data to Google Sheets.

 

The random restart occurs after the EditScreen becomes visible. The user would press the "New Record" button on the BrowseScreen; there would be a long delay (without any signs of processing, not even the "marching ants"), then the EditScreen would become visible, then sometimes the whole app would restart to the Splash screen. In addition to slowing down the efficiency of data entry, it would also cause an extra record to be created.

 

The random restart problem may be linked to the slow transition problem I am trying to figure out here: (https://powerusers.microsoft.com/t5/Creating-Apps/Loadingspinner-Details/m-p/264244#M8777)

 

App ID: fc07ad5f-2724-4b67-9701-6c1acdef44d9

Session ID on iPhone: c793d558-ba2b-4939-b20e-0b147c5bd699

iOS Version 11.1.2

 

Thank you

PowerApps Staff Mr-Dang-MSFT
PowerApps Staff

Re: App Randomly Restarts

@bentonepi, thank you for the very detailed description.

 

The app is very likely restarting because you have 13 forms on a screen Smiley Happy

 

Each field in a form has 4 controls * 13 forms * # of fields per form makes for a lot of controls. I would advise against this pattern, even if it would seem efficient.

 

Do all forms need to be filled out in the same instance of the app? Asked another way, which forms are most important to fill out in the same instance?

 

What I'd do here is create a main screen that has links to each form or group of forms. It would launch the right form. If one form needs to be completed before another, I'd submit the first form, get its ID, then pass its ID to another form to pull in as a parameter.

 

There's a lot of other ways of doing this, but big idea is to not have hundreds of controls on a single screen. It's one of those 'just because you could doesn't mean you should' things.

bentonepi
Level: Power Up

Re: App Randomly Restarts

@Mr-Dang-MSFT ,

Thank you for your quick response. I was suspicious that I was overloading the screen with forms and controls. It will be helpful for me to tell my team that multiple screens are better and to be able to back it up with advice from the PowerApps team.

Cheers.

Fellmeth
Level: Powered On

Re: App Randomly Restarts

Hi, I’m having the same issue.
My Powerapp however is a read only app that contains 1 gallery per page along with a combo box and a text field for filtering purposes.
The app pulls all data on start from SharePoint lists and creates a few collections from which the entire app operates.

Session ID: ba291be3-ff35-42af-9693-e6926208f9ee

Version: 3.19044.13

iOS: 12.2
PowerApps Staff Mr-Dang-MSFT
PowerApps Staff

Re: App Randomly Restarts


@Fellmeth wrote:
The app pulls all data on start from SharePoint lists and creates a few collections from which the entire app operates.

How much data are you pulling in? I'd recommend that even if you pull in only 100s, you may want to drop the amount you show at any given time. Each record needs to be displayed in each gallery and the same is true for lookups you may have in text fields. Galleries are beautiful, but the images and data we want to show inside them can be heavy--especially if we slam the app with 1000s.

 

Think of search engines--they can bring back millions of results, but only show x amount at a time. Or when you're shopping on amazon, you don't just get text search results, but images as well--and that is also limited to x results at a time. 'Paging' is a well established pattern that you can bring into your apps too. 

 

To make this paging pattern, insert 2 icons for the up/down or left/right. These will increment a variable for the page number higher and lower. As a bonus, I'm showing you Coalesce which can provide a default when the variable is not yet declared (it's blank).

 

up/right icon OnSelect
UpdateContext({pageNumber: Coalesce(pageNumber,1)+1})

left/down icon OnSelect
UpdateContext({pageNumber: Coalesce(pageNumber,1)-1})

Coalesce means, "If this thing is blank, use the fallback value (1). Then adjust +1 or -1 depending on what's clicked." It's basically a default.

 

Notice I used a context variable here. This is a good scenario for using a context variable rather than a global one--this way you can use the same variable name on each screen, yet have a different value for each one respective to the screen it is on.

 

Next, adjust the gallery to match that page number. Here's an example of showing 50 at a time:

LastN(
    FirstN(table,Coalesce(pageNumber,1)*50),
50
)

This means, "Starting from the top of the table, return a number of records in the table equal to the page number times the amount of records you want to show at a time (50). So page 1 will have the first 50 (#1-50), page 2 will have record #1-100.

 

But you don't want all 100 on page 2. You want the second set of 50. So LastN lets you restrict the number of records returned to the number you want to see on a 'page' starting from the bottom. You're achieving getting the nth set of records per page. 

 

Since 50 is used in multiple places, you can set it to a variable and reference the variable instead.

 

Note that this method works well for you since you're collecting the data anyway. Running it against the collections will not have delegation limits.

Fellmeth
Level: Powered On

Re: App Randomly Restarts

@Mr-Dang-MSFT 

 

Howdy Dang,
Thanks for the detailed reply and suggestions. Always great to hear from a forward thinker!

To re-cap my app is a central contact app with relationships relating to projects... it gives employees the power to search for contact based on project, company or related values (no images, just numbers and short text). All Data is pulled on start from Sharepoint and stored into collections, all galleries pull data from collections.
My main gallery is technically pulling in 100s of fields, though I thought that having activated all of the features under “App Settings”, specifically “Improved app rendering” and “Explicit column Selection”, that the data is being loaded as I scroll (therefore the massive delay in scrolling with “Improved app rendering” turned on). 22 rows fit in-screen in my main gallery, each row containing two fields. In total there are currently about 300 rows, there will be a few thousand once all the data is entered.

I'll implement your paging suggestion... does if function similar to a filter?

I work with serial & bus communication. Typically when designing a system I have tools to monitors cpu performance and memory. Is there no way to monitor the Powerapp? Something like a 1-100 number that I can stick up in the corner of my app. “1” meaning all good and “100” meaning app crashes.

Thanks,

Highlighted
komblog
Level: Powered On

Re: App Randomly Restarts

Hi @Mr-Dang-MSFT 

 

we have had discussions with Microsoft Business Intelligence Engineer and the problem has been resolved by deactivating Improved app rendering so, the app uses classic rendering.

 

Thanks

Helpful resources

Announcements
firstImage

Watch Sessions On Demand!

Continue your learning in our online communities.

SecondImage

PowerApps Monthly Community Call

Next Wednesday, August 21st at 8am PDT

Top Community Contributors for July 2019

Top Community Contributors for July 2019

Let's thank our top community contributors

Power Platform 2019 release wave 2 plan

Power Platform 2019 release wave 2 plan

Features releasing from October 2019 through March 2020

FirstImage

Power Platform World Tour

Coming to a city near you

thirdimage

PowerApps Community User Group Member Badge

Fill out a quick form to claim your user group badge now!

FourthImage

Join PowerApps User Group!!

Connect, share, and learn with your peers year-round

FifthImage

Dynamics 365 and Power Platform April 2019 Release notes

Features releasing from April 2019 through September 2019!

SixthImage

Power Summit Australia 2019

August 20-23rd 2019

Users Online
Currently online: 20 members 4,119 guests
Please welcome our newest community members: