Specifying Android Market RAM in the Manifest

2019-02-08 16:49发布

问题:

some people continue to download and install our HD game on phones that have 100MB of RAM and give us a bad rating... :)

Is there a way to limit app download to only smartphones with much ram, or maybe to limit to new models/CPUs.

回答1:

My final solution came from following the tip from Raghav Sood.. After a little research I found out that limiting to screens bellow will limit to devices with 512Mb+ of RAM. It's not 100% secure but it's best solution I found out there :)

Just add those filters in manifest file..

    <compatible-screens>
        <!-- some normal size screens -->
        <screen android:screenSize="normal" android:screenDensity="hdpi" />
        <screen android:screenSize="normal" android:screenDensity="xhdpi" />
        <!-- all large size screens -->
        <screen android:screenSize="large" android:screenDensity="ldpi" />
        <screen android:screenSize="large" android:screenDensity="mdpi" />
        <screen android:screenSize="large" android:screenDensity="hdpi" />
        <screen android:screenSize="large" android:screenDensity="xhdpi" />
        <!-- all xlarge size screens -->
        <screen android:screenSize="xlarge" android:screenDensity="ldpi" />
        <screen android:screenSize="xlarge" android:screenDensity="mdpi" />
        <screen android:screenSize="xlarge" android:screenDensity="hdpi" />
        <screen android:screenSize="xlarge" android:screenDensity="xhdpi" />
    </compatible-screens>

Please be aware that some new phones have higher density then xhdpi so they will be blocked out! I'm experimenting with the new filter:

<supports-screens 
    android:resizeable="true"
    android:smallScreens="false"
    android:normalScreens="true"
    android:largeScreens="true"
    android:xlargeScreens="true"
    android:anyDensity="true" />

So far, everything is OK. I found out that I have low-end devices on the supported list but no one complained so far, (for device related bug, in 85k downloads).

I would recommend a 2nd solution, but please use it with caution! I will definitely use it in my upcoming games.

You are welcome to give your feedback!



回答2:

You say your app is HD. Why don't you filter out devices that aren't? Any device that has an HD screen should generally have enough RAM to be able to run your app. You could use the supports-screen tag to exclude devices with ldpi and maybe mdpi screens. While this may not lock out all low end devices, it will lock out a lot of them.



回答3:

read this about memory

additionally, you can uncheck devices you dont want in dev console.



回答4:

It's not one of the filters for Google Play as far as I know. http://developer.android.com/guide/google/play/filters.html

I guess you could:

  • Filter out devices that you know don't meet your criteria. You can do that from the Android Developer Console (just list the devices your app can run on and hit exclude to add them to the manual exclusion list). But given the number of Android devices out there, this may be difficult.

  • In-app, check the memory assigned to you and if not enough for a good experience, act on it. Let the user know (and refund if it's paid :) ) etc. This only if you're sure that memory is the only limiting factor.