我有一个应用程序,我正在设置近50个类android:largeHeap="true",如下所示.这是一个好习惯吗?
<application
android:name=".MyApplication"
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="Mall"
android:largeHeap="true"
android:logo="@drawable/logo_for_up"
android:screenOrientation="portrait"
android:theme="@style/AppTheme" >
</application>
Run Code Online (Sandbox Code Playgroud)
请建议使用它的优点和缺点.
我得到记忆问题,这就是我问这个问题的原因.
我有一个已发布的应用程序,当新引入的Display size操作系统设置设置为太大值时,在Android N上启动时崩溃.
当我查看logcat时,我看到以下消息:
java.lang.RuntimeException: Canvas: trying to draw too large(106,975,232 bytes) bitmap.
Run Code Online (Sandbox Code Playgroud)
我在第一个Activity中将问题跟踪到ImageView,它显示了一个漂亮的大背景图像.有问题的图像是2048x1066,位于我的通用drawables目录中,因此无论密度如何,都将使用此图像.
当Display size设置为时,一切正常Small.但是当我上去时Default,它就会停止工作.如果我然后用较小的图像交换图像,它可以工作Default,但如果我去Large,它会再次停止工作.
我的猜测是,调整Display size会使您的设备表现得像具有更高像素密度的物理上更小的设备.但我不明白我应该在这做什么.如果我逐渐增加较小的图像以逐渐提高分辨率,那么在实际大型显示器上看起来不会很好.或者我不明白什么?
任何指针都将非常感激.