I recently ran into weird bug in Bing map control. In short, if the connection is poor and you press the hardware back button on page with map while the map is still loading some tiles, the navigation process hangs up (some times up to 10 or even more seconds). And in case when the time is more than 3 seconds the app will be "a little" not user-friendly and will not meet the technical certification requirements (5.1.3).
To repeat the bug you can create the app with two pages. First one with button to navigate to the second page. And the second page with just map control with high ZoomLevel (more than 14 for example). After the app launches, you navigate to the second page and move map to some unloaded area and then (without waiting for the download to complete) press the hardware back button. And also you somehow must "create poor" connection (in my case, simply disconnecting the device from the computer is enough).
And does anyone have any idea why this occurs and how to workaround it?
EDIT: The same bug can be observed in the Foursquare application for wp7 - if you go to the page where the place is shown on the map in full screen, then slide the map into an unloaded region and press the hardware button back.
It seems that the problem is in the Bing Map Control.
Hide the Maps control using the Visibility first, before you navigate out of the page. That way the control will become inactive and memory consumption of the page will decrease, thus allowing to switch pages faster.
Related
In reference to "Specifying a Launch Screen Image" from:
https://developer.apple.com/library/archive/documentation/AppleApplications/Reference/SafariWebContent/ConfiguringWebApplications/ConfiguringWebApplications.html
Is launch.png cached on first use then used locally or does it get fetched from the Internet each time?
The reason I ask is we were thinking of programatically cycling the png every day (up to 7 times, one for each day of the week). E.g. Having <%=strFileName %> in place of launch.png.
You can't cycle the image in the launch screen in any way. The only thing you can do is that you make the launch screen white (or some other color if more approrpriate) and then that you show some page as quickly as possible that will contain your 'fake' launch screen content.
I am using MVVM-Caliburn in my UWP application. There is a page where the user can add contacts on a form, and even increase the number of forms by clicking a button (the form is presented in a ListView, with multiple entries as per usage).
I have turned page caching as ENABLED.
this.NavigationCacheMode = Windows.UI.Xaml.Navigation.NavigationCacheMode.Enabled;
The problem is that after a while, this particular page starts to slow down a lot and certain operations (even textbox input!) starts to take a lot of time.
Does this have to do with the fact that something gets cached and after a while, it starts to affect down the application performance?
Any help or direction in this matter will be welcomed.
I have an app I'm working on where the user gets navigated two pages deep, meaning:
Select stuff, click next -> select stuff, click next -> results
On the results page, I'm doing a Navigationservice.Navigate() back to MainPage.xaml but now the user has the ability to hit the back button which can break some things in the app. How can I clear that buffer of pages available? Any way to for Navigationservice.canGoBack return false even if it's true? If the buffer can't be cleared, the is there a method which will restart the app to get the user back to the MainPage.xaml without having any navigation history?
Thank you,
Nick
Here's a few references for solutions to clearing the back stack.
Want to "reset" an app but how to deal with backstack pages?
Removing a page from the navigation stack
Can the navigation history be cleared
Alternatively, consider Peter Torr's suggestions on handling navigation scenarios.
Introducing the concept of “Places”
Redirecting an initial navigation
I have a application built in Silverlight, which will run on a ATOM processor (was told around 1.6GHZ).
So far tested another application with lesser functions on another Mini PC and it can still run smoothly.
This application will be user interactive, and will have 4-5 different pages to be displayed.
So to navigate from page to page, I currently have 2 options, but not sure which is a better way considering the low end CPU. (pages are static, nothing generated on the fly)
1)Load the 4 - 5 pages during the onLoad event, shown the 1st page using Visibility.Visible.
The other pages will be Visibility.Collasped. This way, only need to toggle the Visibility property, pages need not be destroyed and re-created.
2)Initialize all the pages when loaded. Use Container.child to attach the wanted page. Not sure about the capability about this, but for other applications, I usually choose this method.
*P/S: I am okay if it takes a while to load,as the application will be loaded only once per day. As long as during the running period, it does not lag(using touchscreen) I am more than happy.
The main trick is to keep effects to a minimum. Animations etc. - not a problem in a normal application, more in a game or something. For normal LOB style apps, the CPU would not be too busy anyway.
I've created a Windows CE 5.0 application which runs on a handheld scanner. The scanner has its own (hardware) keypad and almost all input comes from the scanning unit.
Unfortunately whenever the text box receiving the scanned characters is focused the input panel appears at the bottom of the screen, blocking almost a third of the screen space.
Is it possible to deactivate it in my form or in the whole application?
If you're not doing it manually via the InputPanel control, then I assume you have aygshell in the image and they are being rendered with a WC_SIPPREF control. I'm not certain if you can remove that control manually - I've never tried. There may be an agshell function that will allow you to disable/remove it, or maybe some work with the InputPanel for your app can remove it.
You may also want to see this blog entry for a bit more detail.
That last time I worked with CE was back when it was called pocketpc 2002 (I still have my old iPaq 3870 - one of the first devices with bluetooth and one of the last without wifi), but at that time the simplest way around this was to set the device to use a hand-writing recognition mode that didn't pop up anything. That may or may not be an option for you and things may have improved since then.