Windows Phone App Memory Consumption - windows-phone-7

I am developing app for Windows Phone. My application is a little game for children which is based on silverlight animation. In app I can navigate to 1 to 3 pages and when the whole game logic completed It again goes to the start screen at the end of game and you can start again. When I complete 3 or four rounds, I saw that my application is consuming more than 80 MB (or more) of Phone RAM. Is there any chances of app rejection from Windows Phone app store if it is consuming such amount of memory???

For Low memory devices, the maximum memory limit for a Silverlight app is 90MB for WP7 and 150MB for WP8.
So, your app may run into performance issues as the no of rounds progresses.
I think you are aware of the Performance analysis tests in Visual Studio, if not check this : Techniques for memory analysis of Windows Phone apps
And you can follow the suggestions mentioned here : App performance considerations for Windows Phone

Related

Extremely slow socket data throughput on Android 11?

I've seen some posts elsewhere about very slow file access after "upgrading" a device to Android 11. I'm not having that, but I AM having unbelievably slow performance in a small app that uses sockets. It's a client app that uses a socket to send a request to a server (mine) that monitors my solar installation, to get data back about how it has been performing etc. So the socket interaction is in a separate thread from the UI, and uses runOnUIThread to call a function that updates the UI with the received data. The request data is only a few bytes, maybe 20 or so maximum: the data coming back varies from a few hundred bytes to maybe 50000 bytes or thereabouts.
If I run this app on my phone (Android 8.1) it is fine - it takes 1.5 to 2 seconds to send the request, get the data back, and update the UI. Perfectly fine. It's the same on an older tablet running Android 7.1.2 too. But I have just recently acquired a flash (read expensive) new Samsung tablet running Android 11, and its performance is woeful - the same app doing the same operation takes anything up to 30 seconds, or even more. And it is exactly the same app, exactly the same code. Both devices are running on the same network, so the only significant difference seems to be the Android version. It is repeatable ad nauseum, so it isn't momentary network load either. The app is built to target API level 26 - it has to be so it can run on all the devices it needs to. It is not a commercial app, just something for my own use, but I am totally bewildered by this behaviour.
The other thing I have noted with this new tablet is that it is unable to provide a video stream from a surveillance IP camera I have at home. I use the TinyCam Pro app from Google Play for this. It can connect, but it has never yet managed to give me a picture, regardless of how good my connection is. Again, my phone and the older tablet can do this more often than not, and the new tablet would have far more horsepower than either of them. There is some sort of serious bottleneck in there!
Has anyone else seen this type of thing on Android 11? If so, is there anything that can be done about it, that is usable on earlier versions too? Or do we just have to wait for Android 11.1?
EDIT: I've done some more investigation on this, and I think I have now pinned it down to a 4G network bandwidth issue. I said that the tablet and the phone were doing exactly the same thing, but I have since remembered that they do NOT use the same carrier for their mobile connections. So it's not EXACTLY the same thing. I would actually expect the network capacity for the tablet's carrier to be superior to that of the phone's carrier, but that appears not to be the case where I am at the moment. So I think I have to take back my evil thoughts about the tablet, and maybe even Android 11. Interesting how easy it is to be misled, and how hard it can be to genuinely compare apples with apples when there are so many variables and so many links in the chain. I'll be doing some more tests and comparisons when back in the city, where network capacity should be much more alike for the two carriers.
yes its true. While compare to Android 11 and Android 8 there is a lot of changes updated because of security issue.
May be, If your managing some file in mobile storage mnt/sdcard/ here in this path its speed of access or managing a file in this path its restricted and its becomes less. So, if your using this path please change it like below because it will cause youe app to process slow.
solution - Try to use this file access path is Android/data/data/packageName/
I mean if your using this logic to access file - Environment.getExternalStorageDirectory()
instead of above try this - Context.getExternalFilesDir(null)
refer this link https://developer.android.com/about/versions/11/privacy/storage
I hopes it will help you...

Detect Approaching App Mem Limit on Windows Phone

I am wondering if there is a way for a Universal Windows Phone app (Windows Phone 8.1 or 10) to detect if the app is using much memory and is approaching the memory limit that apps have on a Windows Phone (before it gets killed by the OS)?
Ideally the OS/platform would provide API/services for an app to register and listen to an event that is raised, telling the app that it has consumed almost all of the memory that it is allowed to have so that the app can take appropriate actions (force release some cached data) to clear up some memory and avoid being killed by the OS. But I'm not sure if such API exists on Windows Phone 8.1 or 10 for a Universal Windows App!?
The Windows.System.MemoryManager methods report on the app's memory usage and memory limit and raises events as the limit changes and as usage increases and decreases between low, medium, and high levels.

Can I still manage to develop on Windows Phone even with limited hardware on a development machine?

I have been long interested to develop on the platform. I even got the tools installed already on my desktop but I can't upgrade my WDDM from 1.0 to 1.1. To make things simple: my graphics chips are not up to the task of running the emulator.
If I still buy a Windows Phone (e.g. a Nokia Lumia) for development purposes, can I sideload and test my apps there efficiently instead of going against the emulator?
If I still buy a Windows Phone (e.g. a Nokia Lumia) for development purposes, can I sideload and test my apps there efficiently instead of going against the emulator
Yes, of course. It's very easy and convenient. You have debugger and all the goodies. Advantage of the emulator is the test option for 256MB devices.
That's exactly what I used to do prior to upgrading my devstation. The nominal min spec says 3G but with a real phone it worked fine in 2G and as you say this also sorts out graphics limitations.
Note that the setting for whether the emulator or physical device is used is stored in the project, so if you accept a project from someone else you will have to set it once prior to debugging.
Well there are 2 sides of the coin. With the physical device you can test most of the things, but with a few limitations
You will not be able to test internet related test cases - For example, if you have an app which uses internet connectivity then you will not be able to test it on the device easily because
The device does not use the machine internet connectivity
When connected to the PC the device's internet connectivity(Data connection 3G/ wifi/GPRS) is broken.
You will have to purchase an account right from the first day you want to test your app. If you have the emulator working then you could postpone this for atleast few days.

What is the appropriate number of memory usage for Windows Phone app

as my title.
I heard that my friend's app was failed to publish to marketplace. Because it consumes more than 90MB phone memory.
I'm developing an application and it uses about 30-60 MB (according to memory counter display from this link.)
Firstly I thought it was too much for a mobile app. I put all my data entries into memory in order to do search, instead of querying them from SQLite which is too slow for me.
So what do you think about the appropriate number of the phone memory for a regular mobile application.
Well, Microsoft Certification Requirements document says that:
An application must not exceed 90 MB of RAM usage, except on devices that have more than 256 MB of memory.
If you break this rule, your application won't pass Microsoft certification process.

Zune as dev/test for WP7 apps

I have a Windows Phone 7 app to develop as a pet project and was going to get a phone just for testing my application. The app doesn't require calling features, so I was wondering if it would make more sense to get a Zune HD instead of the phone (trying to avoid paying monthly service fees).
In short, how close are the Zune HD and a windows phone 7 for testing simple "lob" type applications that would ultimately be sold as a windows phone 7 app?
This won't work since the apps need to run on the Phone O/S, which does not run on Zune devices. Nice idea though.
The Zune HD is a much slower processor than the Windows Phone 7 CPUs. The Zune HD runs at 600 mHz whereas the Windows Phone 7 devices all run at a gigahertz.
It's also not running the right operating system.
You might be able to test the games on the Zune HD. It uses XNA as does the Phone. The speeds (as above) would be different, but in theory this would work.
One can hope that perhaps a Zune HD2 might be in the works.

Resources