10-08 02:55:31.704: E/AndroidRuntime(1859): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.visionet.vissapp.activity/com.visionet.vissapp.activity.MyBusinessActivity}: android.view.InflateException: Binary XML file line #24: Error inflating class
10-08 02:55:31.704: E/AndroidRuntime(1859): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2176)
10-08 02:55:31.704: E/AndroidRuntime(1859): at android.app.ActivityThread.startActivityNow(ActivityThread.java:2019)
10-08 02:55:31.704: E/AndroidRuntime(1859): at android.app.LocalActivityManager.moveToState(LocalActivityManager.java:135)
10-08 02:55:31.704: E/AndroidRuntime(1859): at android.app.LocalActivityManager.startActivity(LocalActivityManager.java:347)
10-08 02:55:31.704: E/AndroidRuntime(1859): at android.widget.TabHost$IntentContentStrategy.getContentView(TabHost.java:749)
10-08 02:55:31.704: E/AndroidRuntime(1859): at android.widget.TabHost.setCurrentTab(TabHost.java:413)
10-08 02:55:31.704: E/AndroidRuntime(1859): at android.widget.TabHost.setCurrentTabByTag(TabHost.java:287)
10-08 02:55:31.704: E/AndroidRuntime(1859): at com.visionet.vissapp.activity.HomeActivity.onClick(HomeActivity.java:131)
10-08 02:55:31.704: E/AndroidRuntime(1859): at android.view.View.performClick(View.java:4424)
10-08 02:55:31.704: E/AndroidRuntime(1859): at android.view.View$PerformClick.run(View.java:18383)
10-08 02:55:31.704: E/AndroidRuntime(1859): at android.os.Handler.handleCallback(Handler.java:733)
10-08 02:55:31.704: E/AndroidRuntime(1859): at android.os.Handler.dispatchMessage(Handler.java:95)
10-08 02:55:31.704: E/AndroidRuntime(1859): at android.os.Looper.loop(Looper.java:137)
10-08 02:55:31.704: E/AndroidRuntime(1859): at android.app.ActivityThread.main(ActivityThread.java:4998)
10-08 02:55:31.704: E/AndroidRuntime(1859): at java.lang.reflect.Method.invokeNative(Native Method)
10-08 02:55:31.704: E/AndroidRuntime(1859): at java.lang.reflect.Method.invoke(Method.java:515)
10-08 02:55:31.704: E/AndroidRuntime(1859): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:777)
10-08 02:55:31.704: E/AndroidRuntime(1859): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:593)
10-08 02:55:31.704: E/AndroidRuntime(1859): at dalvik.system.NativeStart.main(Native Method)
10-08 02:55:31.704: E/AndroidRuntime(1859): Caused by: android.view.InflateException: Binary XML file line #24: Error inflating class
10-08 02:55:31.704: E/AndroidRuntime(1859): at android.view.LayoutInflater.createView(LayoutInflater.java:620)
10-08 02:55:31.704: E/AndroidRuntime(1859): at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56)
10-08 02:55:31.704: E/AndroidRuntime(1859): at android.view.LayoutInflater.onCreateView(LayoutInflater.java:669)
10-08 02:55:31.704: E/AndroidRuntime(1859): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:694)
10-08 02:55:31.704: E/AndroidRuntime(1859): at android.view.LayoutInflater.rInflate(LayoutInflater.java:755)
10-08 02:55:31.704: E/AndroidRuntime(1859): at android.view.LayoutInflater.inflate(LayoutInflater.java:492)
10-08 02:55:31.704: E/AndroidRuntime(1859): at android.view.LayoutInflater.inflate(LayoutInflater.java:397)
10-08 02:55:31.704: E/AndroidRuntime(1859): at android.view.LayoutInflater.inflate(LayoutInflater.java:353)
10-08 02:55:31.704: E/AndroidRuntime(1859): at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:290)
10-08 02:55:31.704: E/AndroidRuntime(1859): at android.app.Activity.setContentView(Activity.java:1928)
10-08 02:55:31.704: E/AndroidRuntime(1859): at com.visionet.vissapp.activity.MyBusinessActivity.onCreate(MyBusinessActivity.java:30)
10-08 02:55:31.704: E/AndroidRuntime(1859): at android.app.Activity.performCreate(Activity.java:5243)
10-08 02:55:31.704: E/AndroidRuntime(1859): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
10-08 02:55:31.704: E/AndroidRuntime(1859): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2140)
10-08 02:55:31.704: E/AndroidRuntime(1859): ... 18 more
10-08 02:55:31.704: E/AndroidRuntime(1859): Caused by: java.lang.reflect.InvocationTargetException
10-08 02:55:31.704: E/AndroidRuntime(1859): at java.lang.reflect.Constructor.constructNative(Native Method)
10-08 02:55:31.704: E/AndroidRuntime(1859): at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
10-08 02:55:31.704: E/AndroidRuntime(1859): at android.view.LayoutInflater.createView(LayoutInflater.java:594)
10-08 02:55:31.704: E/AndroidRuntime(1859): ... 31 more
10-08 02:55:31.704: E/AndroidRuntime(1859): Caused by: java.lang.OutOfMemoryError
10-08 02:55:31.704: E/AndroidRuntime(1859): at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method)
10-08 02:55:31.704: E/AndroidRuntime(1859): at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:575)
10-08 02:55:31.704: E/AndroidRuntime(1859): at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:410)
10-08 02:55:31.704: E/AndroidRuntime(1859): at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:840)
10-08 02:55:31.704: E/AndroidRuntime(1859): at android.content.res.Resources.loadDrawable(Resources.java:2110)
10-08 02:55:31.704: E/AndroidRuntime(1859): at android.content.res.TypedArray.getDrawable(TypedArray.java:602)
10-08 02:55:31.704: E/AndroidRuntime(1859): at android.view.View.(View.java:3545)
10-08 02:55:31.704: E/AndroidRuntime(1859): at android.view.ViewGroup.(ViewGroup.java:470)
10-08 02:55:31.704: E/AndroidRuntime(1859): at android.widget.LinearLayout.(LinearLayout.java:176)
10-08 02:55:31.704: E/AndroidRuntime(1859): at android.widget.LinearLayout.(LinearLayout.java:172)
求大神解答 tabhost+activity跳转页面是屏幕尺寸5.0以上的手机就报错
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- 你知我知皆知 2024-08-04 10:44关注
以下回答参考 皆我百晓生、券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。
这个问题是由Android平台的内存管理机制引起的。当您尝试在Android应用程序中加载大量资源(例如图片、字体等)时,可能会导致内存不足。
解决方法之一是在使用
BitmapFactory.decodeResource()
之前,先检查当前的可用内存是否足够加载这些资源。这可以通过在onCreate()
方法或init()
方法中调用getResources().getAvailableMemory()
来实现。这是一个示例:
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 检查当前可用内存 long availableMemory = getResources().getAvailableMemory(); if (availableMemory < 500 * 1024 * 1024) { // 500 MB Toast.makeText(this, "Insufficient memory", Toast.LENGTH_SHORT).show(); finish(); // 如果内存不足,则直接退出应用 } }
请注意,这个解决方案只适用于您的特定情况,并可能需要根据您的具体需求进行调整。此外,如果问题仍然存在,请考虑提供更多的上下文信息,以便于为您提供更具体的帮助。
解决 无用评论 打赏 举报
悬赏问题
- ¥20 关于web前端如何播放二次加密m3u8视频的问题
- ¥20 spring boot集成mqtt的使用问题
- ¥15 使用百度地图api 位置函数报错?
- ¥15 metamask如何添加TRON自定义网络
- ¥66 关于川崎机器人调速问题
- ¥15 winFrom界面无法打开
- ¥30 crossover21 ARM64版本安装软件问题
- ¥15 mymetaobjecthandler没有进入
- ¥15 mmo能不能做客户端怪物
- ¥15 osm下载到arcgis出错