Java android中内存不足错误。。
我的应用程序使用了大约15张大约30-50KB的图片。它有一个启动屏幕、一个主要活动和一个内部页面。启动屏幕和主活动页面加载alrt。。但是当访问内部页面时,我得到以下错误Java android中内存不足错误。。,java,android,out-of-memory,Java,Android,Out Of Memory,我的应用程序使用了大约15张大约30-50KB的图片。它有一个启动屏幕、一个主要活动和一个内部页面。启动屏幕和主活动页面加载alrt。。但是当访问内部页面时,我得到以下错误 java.lang.OutOfMemoryError at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method) 我没有使用位图工厂。。图像切换刚刚在这里发生 setBackgroundResource 我还提供了 android:la
java.lang.OutOfMemoryError
at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method)
我没有使用位图工厂。。图像切换刚刚在这里发生
setBackgroundResource
我还提供了
android:largeHeap="true"
到舱单。。下面提供了我的日志猫
06-09 04:29:04.669: E/AndroidRuntime(1201): java.lang.OutOfMemoryError
06-09 04:29:04.669: E/AndroidRuntime(1201): at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method)
06-09 04:29:04.669: E/AndroidRuntime(1201): at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:587)
06-09 04:29:04.669: E/AndroidRuntime(1201): at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:422)
06-09 04:29:04.669: E/AndroidRuntime(1201): at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:840)
06-09 04:29:04.669: E/AndroidRuntime(1201): at android.content.res.Resources.loadDrawable(Resources.java:2110)
06-09 04:29:04.669: E/AndroidRuntime(1201): at android.content.res.Resources.getDrawable(Resources.java:700)
06-09 04:29:04.669: E/AndroidRuntime(1201): at android.view.View.setBackgroundResource(View.java:15303)
06-09 04:29:04.669: E/AndroidRuntime(1201): at com.quinoid.tI.Home_Screen$1.onClick(Home_Screen.java:44)
06-09 04:29:04.669: E/AndroidRuntime(1201): at android.view.View.performClick(View.java:4438)
06-09 04:29:04.669: E/AndroidRuntime(1201): at android.view.View$PerformClick.run(View.java:18422)
06-09 04:29:04.669: E/AndroidRuntime(1201): at android.os.Handler.handleCallback(Handler.java:733)
06-09 04:29:04.669: E/AndroidRuntime(1201): at android.os.Handler.dispatchMessage(Handler.java:95)
06-09 04:29:04.669: E/AndroidRuntime(1201): at android.os.Looper.loop(Looper.java:136)
06-09 04:29:04.669: E/AndroidRuntime(1201): at android.app.ActivityThread.main(ActivityThread.java:5017)
06-09 04:29:04.669: E/AndroidRuntime(1201): at java.lang.reflect.Method.invokeNative(Native Method)
06-09 04:29:04.669: E/AndroidRuntime(1201): at java.lang.reflect.Method.invoke(Method.java:515)
06-09 04:29:04.669: E/AndroidRuntime(1201): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
06-09 04:29:04.669: E/AndroidRuntime(1201): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
06-09 04:29:04.669: E/AndroidRuntime(1201): at dalvik.system.NativeStart.main(Native Method)
类文件home\u screen.java
home.setOnClickListener(new OnClickListener() { <--line 44
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
home.setBackgroundResource(R.drawable.home1);
Intent myIntent = new Intent(Home_Screen.this, Home.class);
startActivity(myIntent);
}
});
那么我可以在这里做什么呢?在“主页”按钮中的活动XML中,您应该添加以下内容:
android:background="@drawable/btn_selector"
然后您应该创建btn_selector.xml文件:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/home1" android:state_pressed="true"/>
<item android:drawable="@drawable/(put your image when image isnt pressed)" />
</selector>
为什么这样做:home.setBackgroundResourceR.drawable.home1;您打算什么时候离开活动?我正在更改图标上的图像@最后,过渡时间很慢。。因此,有一个按钮图像的变化,用户看到我认为最好的解决方案是使用drawable,这里有一个链接,这样做的另一件事,如果你删除了那行代码,会发生错误吗?是的。。如果对setbackgroundresource进行了注释,则该应用程序将在@Ultimo\m运行