Memory leak with MVVM Silverlight page navigation - memory-leaks

We have a application which is making use of MVVM Light Toolkit (http://www.galasoft.ch/mvvm/). The page has Telerik Silverlight controls (grid and chart).
When we navigate from one page to other the memory usage is increasing by 100 MB for each click. finally after lot of click it's crashing. The memory is released only when browser is closed. Do we need to implement ICleanup ?

Related

Material Design Lite page resetting to page top when loading

I have a page using Google's Material Design Lite framework. If you start scrolling before the page loads, the page will snap back to the top once the page finishes loading.
This happens on many of the MDL sample sites too. Here's one example - https://getmdl.io/templates/android-dot-com/index.html
How can this effect be removed?

How to disable resize button in winjs

I'm developing windows 10 cordova application and for native integration we should use WinJS. I would like to know below things in Winjs app.
How to disable resize button in app control bar?
How to set maximum windows during application load?
There is no way in UWP to manipulate with windowing buttons (e.g. disable them). To control window size you can use the following three methods:
setPrefferedMinSize to define minimum window size (up to 500x500px).
tryResizeView to manually attempt to resize windows to desired size.
tryEnterFullScreenMode to place app in full-screen mode.
There is a code sample on GitHub for these methods, including JS.

SWT Browser component blocks SWT UI thread

I am embedding an org.eclipse.swt.browser.Browser into a view in a modified eclipse (Indigo), for use as a preview pane of a form editor component. On a form model change or an element selection change the code renders the form via vaadin 6 and displays it in the browser component.
Now, this works like a charm in most cases. But for some highly complex forms the HTML+JS generated by vaadin generates a lot of stress on the browser, rendering it unresponsive for up to a few seconds. That in itself wouldn't be tragic (1), but as long as the SWT Browser component is busy rendering that stuff, the entire eclipse UI thread is blocked.
A simple way to reproduce this is to create an HTML page that blocks inside a javascript function (see https://gist.github.com/creinig/5150747 for an example) and display it in the SWT browser. As long as that JS function is running, the entire SWT application is not responding to anything.
The only info I've found on this problem are
one SO question (without resolution) and
one question on EclipseZone (unanswered).
Not that helpful :(
The API docs of the Browser component don't seem to offer any insight on whether its rendering is triggered periodically by the UI thread or if itself triggers something that blocks the UI.
Is there a way to decouple the Browser component's rendering from the SWT UI thread? Or anything else that could be done to protect the eclipse UI from hanging stuff in the browser?
(1): We need forms of this complexity level, we're already optimizing the rendering performance and a switch to vaadin7 will most likely also speed things up. But the problem will certainly persist, if only in reduced severity.
Not a real solution, but a workaround that Works For Me (TM):
As described here it is really easy to launch the system's default browser from SWT. So I'm going to add an option to the view containing the browser control that will "detach" the view by disabling the browser control and opening the system browser instead.
In case the linked page drops off the net, here's the gist:
org.eclipse.swt.program.Program.launch("http://my.funny.url/");
launches the application registered for HTTP URLs. In other words: the system default browser.
Happiness ensues :)

WP7 Emulator Browser not displaying anything

I use the webbrowser control to display a webpage from an application, but it just displayed a white screen. I tried Internet Explorer and it did not display anything either.
Any ideas how to fix this problem.
Thanks a lot in advance.
Windows Phone Emulator requires a DirectX 10 or above capable graphics card with a WDDM 1.1 driver. I assume that you got an error message on first start of the emulator that your graphic adapter isn't capable for all functions the emulator is using and that this may impact XNA games and sometimes silverlight like this one:
If your graphic adapter does not fully support DirectX 10 or doesn't has a WDDM 1.1 driver you will only see a white screen instead of the rendered webpage. This also affects all controls using MultiScaleImage, including the webbrowser control. As far as I know there is no solution for this at the moment.
To check if the emulator is running the required GPU emulation take a look at the arrow to open the application list and if it points to the right or left. If it points to the left, NO GPU is available - if it points to the right (as on the hardware phone itself) the GPU is available and rendering should work as expected.
See also this page in the msdn.
You haven't said if you're testing a local/private page or one on the web.
Also test other pages on the web. Can you view anything or just your own page.
If you can't see pages on the public web then you have a networking issue
If you can see public pages but not locally hosted ones then you probably have a different networking issue. If you're on an actual device or the emulator will likely greatly affect this.
The other things it may are:
you're trying to view a page that is to compilcated to be displayed (if there is such a thing - test with a very simple static page first)
the page uses useragent detecction and doesn't recognise the user agent and so is serving nothing
the page has complex javascript which runs before the page is rendered and the javascript is failing and so the page is never displayed.

How can I see a specific page's memory consumption of a browser?

What way or which profiler tool I should use to see a specific web page's memory consumption?
Does it make a difference if it belongs to a TAB in an individual browser window?
Thanks
In chrome every tab is a separate process, so there you can just compare the memory consumption of an empty tab against the memory consumption of a tab loaded with the page in question.
For other browsers this does not work of course. IE9 will have tabs in seperate process too I think though.
Each browser is going to be different.
Google Chrome, for instance, has a Task Manager, SHIFT+ESC, that will itemize each tab, and each tab is actually a separate process in Windows Task Manager.
As far as I know, only Chrome supports this directly. Open a tab to about:memory and you can see the memory usage of each tab.

Resources