nextcloud / nextcloud/android

OOM when moving 70+ files in `initLayout(FileDisplayActivity)`

Open
#13,429 0 comments 0 reactions 0 assignees View on GitHub
bug performance: OOM :brain: stable-3.29
Dominant language
Kotlin
Stars
5.6k
Forks
2k
Avg merge
2d 18h
Merged PRs (30d)
92

Description

### Cause of error
```java
Exception in thread "main" java.lang.RuntimeException: Unable to start activity ComponentInfo{com.nextcloud.client/com.owncloud.android.ui.activity.FileDisplayActivity}: android.view.InflateException: Binary XML file line #68 in com.nextcloud.client:layout/files: Binary XML file line #24 in com.nextcloud.client:layout/drawer: Error inflating class
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3993)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:4173)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:114)
at android.app.servertransaction.TransactionExecutor.executeNonLifecycleItem(TransactionExecutor.java:231)
at android.app.servertransaction.TransactionExecutor.executeTransactionItems(TransactionExecutor.java:152)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:93)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2595)
at android.os.Handler.dispatchMessage(Handler.java:107)
at android.os.Looper.loopOnce(Looper.java:232)
at android.os.Looper.loop(Looper.java:317)
at android.app.ActivityThread.main(ActivityThread.java:8592)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:580)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:878)
Caused by: Exception in thread "main" android.view.InflateException: Binary XML file line #68 in com.nextcloud.client:layout/files: Binary XML file line #24 in com.nextcloud.client:layout/drawer: Error inflating class
Caused by: Exception in thread "main" android.view.InflateException: Binary XML file line #24 in com.nextcloud.client:layout/drawer: Error inflating class
Caused by: Exception in thread "main" java.lang.reflect.InvocationTargetException
at java.lang.reflect.Constructor.newInstance0(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:343)
at android.view.LayoutInflater.createView(LayoutInflater.java:742)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:894)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:849)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:1011)
at android.view.LayoutInflater.parseInclude(LayoutInflater.java:1115)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:1007)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:972)
at android.view.LayoutInflater.inflate(LayoutInflater.java:570)
at android.view.LayoutInflater.inflate(LayoutInflater.java:462)
at com.owncloud.android.databinding.FilesBinding.inflate(FilesBinding.java:64)
at com.owncloud.android.databinding.FilesBinding.inflate(FilesBinding.java:58)
at com.owncloud.android.ui.activity.FileDisplayActivity.initLayout(FileDisplayActivity.java:298)
at com.owncloud.android.ui.activity.FileDisplayActivity.onCreate(FileDisplayActivity.java:259)
at android.app.Activity.performCreate(Activity.java:8960)
at android.app.Activity.performCreate(Activity.java:8938)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1526)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3975)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:4173)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:114)
at android.app.servertransaction.TransactionExecutor.executeNonLifecycleItem(TransactionExecutor.java:231)
at android.app.servertransaction.TransactionExecutor.executeTransactionItems(TransactionExecutor.java:152)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:93)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2595)
at android.os.Handler.dispatchMessage(Handler.java:107)
at android.os.Looper.loopOnce(Looper.java:232)
at android.os.Looper.loop(Looper.java:317)
at android.app.ActivityThread.main(ActivityThread.java:8592)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:580)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:878)
Caused by: Exception in thread "main" java.lang.OutOfMemoryError: Failed to allocate a 112 byte allocation with 198608 free bytes and 193KB until OOM, target footprint 536870912, growth limit 536870912; giving up on allocation because <1% of heap free after GC.
at com.google.android.material.shadow.ShadowRenderer.(ShadowRenderer.java:76)
at com.google.android.material.shadow.ShadowRenderer.(ShadowRenderer.java:72)
at com.google.android.material.shape.MaterialShapeDrawable.(MaterialShapeDrawable.java:137)
at com.google.android.material.shape.MaterialShapeDrawable.(MaterialShapeDrawable.java:222)
at com.google.android.material.navigation.NavigationView.createDefaultItemDrawable(NavigationView.java:513)
at com.google.android.material.navigation.NavigationView.createDefaultItemBackground(NavigationView.java:500)
at com.google.android.material.navigation.NavigationView.(NavigationView.java:276)
at com.google.android.material.navigation.NavigationView.(NavigationView.java:178)
at java.lang.reflect.Constructor.newInstance0(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:343)
at android.view.LayoutInflater.createView(LayoutInflater.java:742)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:894)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:849)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:1011)
at android.view.LayoutInflater.parseInclude(LayoutInflater.java:1115)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:1007)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:972)
at android.view.LayoutInflater.inflate(LayoutInflater.java:570)
at android.view.LayoutInflater.inflate(LayoutInflater.java:462)
at com.owncloud.android.databinding.FilesBinding.inflate(FilesBinding.java:64)
at com.owncloud.android.databinding.FilesBinding.inflate(FilesBinding.java:58)
at com.owncloud.android.ui.activity.FileDisplayActivity.initLayout(FileDisplayActivity.java:298)
at com.owncloud.android.ui.activity.FileDisplayActivity.onCreate(FileDisplayActivity.java:259)
at android.app.Activity.performCreate(Activity.java:8960)
at android.app.Activity.performCreate(Activity.java:8938)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1526)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3975)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:4173)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:114)
at android.app.servertransaction.TransactionExecutor.executeNonLifecycleItem(TransactionExecutor.java:231)
at android.app.servertransaction.TransactionExecutor.executeTransactionItems(TransactionExecutor.java:152)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:93)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2595)
at android.os.Handler.dispatchMessage(Handler.java:107)
at android.os.Looper.loopOnce(Looper.java:232)
at android.os.Looper.loop(Looper.java:317)
at android.app.ActivityThread.main(ActivityThread.java:8592)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:580)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:878)

```

### App information
* ID: `com.nextcloud.client`
* Version: `30290290`
* Build flavor: `gplay`

### Device information
* Brand: `google`
* Device: `panther`
* Model: `Pixel 7`
* Id: `AP2A.240805.005`
* Product: `panther`

### Firmware
* SDK: `34`
* Release: `14`
* Incremental: `12025142`

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.