【问题标题】:Specifying Android Market RAM in the Manifest在 Manifest 中指定 Android Market RAM
【发布时间】:2012-09-02 07:42:39
【问题描述】:

有些人继续在拥有 100MB RAM 的手机上下载并安装我们的高清游戏,并给我们差评...:)

有没有办法将应用程序下载限制在内存很大的智能手机上,或者限制在新型号/CPU 上。

【问题讨论】:

    标签: android android-manifest google-play android-market-filtering


    【解决方案1】:

    我的最终解决方案来自 Raghav Sood 的提示。 经过一番研究,我发现限制在下面的屏幕将限制在具有 512Mb+ RAM 的设备上。它不是 100% 安全的,但它是我发现的最佳解决方案 :)

    只需在清单文件中添加这些过滤器..

        <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>
    

    请注意,一些新手机的密度比 xhdpi 更高,因此它们会被屏蔽!我正在试验新的过滤器:

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

    到目前为止,一切正常。我发现我的支持列表中有低端设备,但到目前为止没有人抱怨,(对于设备相关的错误,下载量为 85k)。

    我会推荐第二种解决方案,但请谨慎使用! 我一定会在即将到来的游戏中使用它。

    欢迎您提供反馈!

    【讨论】:

      【解决方案2】:

      你说你的应用是高清的。你为什么不过滤掉那些不是的设备?任何具有高清屏幕的设备通常都应该有足够的 RAM 来运行您的应用程序。您可以使用supports-screen 标签来排除带有 ldpi 和 mdpi 屏幕的设备。虽然这可能不会锁定所有低端设备,但它会锁定很多。

      【讨论】:

      • 嗯..这可能会有所帮助..会尝试做一些研究。我认为这是一个接近的:)
      【解决方案3】:

      read this about memory

      此外,您可以在开发控制台中取消选中您不需要的设备。

      【讨论】:

      • tnx 回复但我需要编辑清单文件,这样它就不会允许使用低端设备的用户下载游戏以保护自己免受不良评级。我在列表中有 1600 台设备。我不能一一禁用它们。
      • 你读过另一个问题吗?您可以在您的应用程序启动之前运行测试并给出一条消息,说明您的设备不受支持。当他们在你的应用程序中做某事时,t 比强制关闭要好。
      • 是的,我做到了,但这不是我想要的。我仍然希望有一种方法可以通过清单文件解决这个问题。但现在是我唯一拥有的东西
      • 希望对大家有所帮助,让用户满意比世界和平更难。
      • 呵呵……你说得对。 tnx 回复我会继续寻找替代品,但看起来我必须走你的路。
      【解决方案4】:

      据我所知,它不是 Google Play 的过滤器之一。 http://developer.android.com/guide/google/play/filters.html

      我猜你可以:

      • 过滤掉您知道不符合条件的设备。您可以从 Android 开发者控制台执行此操作(只需列出您的应用程序可以在其上运行的设备并点击排除以将它们添加到手动排除列表中)。但考虑到 Android 设备的数量,这可能很困难。

      • 在应用程序内,检查分配给您的内存,如果不足以获得良好的体验,请采取行动。让用户知道(如果已付款,则退款:) )等。仅当您确定内存是唯一的限制因素时才这样做。

      【讨论】:

      • tnx 回复...有没有办法限制新 CPU 或它们的时钟?这也有助于过滤掉低端设备。
      • 我不相信有。您可以回到基础并请求更高的 minSDK 版本。您担心的低端设备很有可能会运行旧版本的 Android。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-10-13
      • 1970-01-01
      • 1970-01-01
      • 2011-08-17
      • 1970-01-01
      • 1970-01-01
      • 2012-09-20
      相关资源
      最近更新 更多