App crash on android
- Dominant language
- Kotlin
- Stars
- 5.6k
- Forks
- 2k
- Avg merge
- 2d 18h
- Merged PRs (30d)
- 92
Description
### ⚠️ Before posting ⚠️
- [x] This is a **bug**, not a question or an enhancement.
- [x] I've [searched for similar issues](https://github.com/nextcloud/android/issues) and didn't find a duplicate.
- [x] I've written a clear and descriptive title for this issue, not just "Bug" or "Crash".
- [x] I agree to follow Nextcloud's [Code of Conduct](https://nextcloud.com/contribute/code-of-conduct/).
### Steps to reproduce
Open app on Android. Scroll folders for 30 seconds. Encounter crash.
### Expected behaviour
Ability to scroll folder contents
### Actual behaviour
Scroll then crash
### Android version
16
### Device brand and model
Samsung S24
### Stock or custom OS?
Stock
### Nextcloud android app version
3.35.2
### Nextcloud server version
32.0.6
### Using a reverse proxy?
I don't know
### Android logs
### Cause of error
```java
Exception in thread "main" java.lang.OutOfMemoryError: Failed to allocate a 24 byte allocation with 4752160 free bytes and 4640KB until OOM, target footprint 536870912, growth limit 536870912; giving up on allocation because <1% of heap free after GC.
at android.util.SparseArray.(SparseArray.java:89)
at android.view.View.setKeyedTag(View.java:29508)
at android.view.View.setTag(View.java:29487)
at androidx.customview.poolingcontainer.PoolingContainer.getPoolingContainerListenerHolder(PoolingContainer.kt:148)
at androidx.customview.poolingcontainer.PoolingContainer.callPoolingContainerOnRelease(PoolingContainer.kt:105)
at androidx.recyclerview.widget.RecyclerView$RecycledViewPool.putRecycledView(RecyclerView.java:6324)
at androidx.recyclerview.widget.RecyclerView$Recycler.addViewHolderToRecycledViewPool(RecyclerView.java:7181)
at androidx.recyclerview.widget.RecyclerView$Recycler.recycleCachedViewAt(RecyclerView.java:7057)
at androidx.recyclerview.widget.RecyclerView$Recycler.recycleViewHolderInternal(RecyclerView.java:7105)
at androidx.recyclerview.widget.RecyclerView$Recycler.quickRecycleScrapView(RecyclerView.java:7194)
at androidx.recyclerview.widget.RecyclerView$LayoutManager.removeAndRecycleScrapInt(RecyclerView.java:10076)
at androidx.recyclerview.widget.RecyclerView.dispatchLayoutStep3(RecyclerView.java:4717)
at androidx.recyclerview.widget.RecyclerView.dispatchLayout(RecyclerView.java:4367)
at androidx.recyclerview.widget.RecyclerView.onLayout(RecyclerView.java:4919)
at android.view.View.layout(View.java:26937)
at android.view.ViewGroup.layout(ViewGroup.java:6847)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:345)
at android.widget.FrameLayout.onLayout(FrameLayout.java:283)
at android.view.View.layout(View.java:26937)
at android.view.ViewGroup.layout(ViewGroup.java:6847)
at androidx.swiperefreshlayout.widget.SwipeRefreshLayout.onLayout(SwipeRefreshLayout.java:689)
at android.view.View.layout(View.java:26937)
at android.view.ViewGroup.layout(ViewGroup.java:6847)
at android.widget.RelativeLayout.onLayout(RelativeLayout.java:1131)
at android.view.View.layout(View.java:26937)
at android.view.ViewGroup.layout(ViewGroup.java:6847)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:345)
at android.widget.FrameLayout.onLayout(FrameLayout.java:283)
at android.view.View.layout(View.java:26937)
at android.view.ViewGroup.layout(ViewGroup.java:6847)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1891)
at android.widget.LinearLayout.layoutHorizontal(LinearLayout.java:1880)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1640)
at android.view.View.layout(View.java:26937)
at android.view.ViewGroup.layout(ViewGroup.java:6847)
at com.google.android.material.appbar.HeaderScrollingViewBehavior.layoutChild(HeaderScrollingViewBehavior.java:145)
at com.google.android.material.appbar.ViewOffsetBehavior.onLayoutChild(ViewOffsetBehavior.java:43)
at com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior.onLayoutChild(AppBarLayout.java:2461)
at androidx.coordinatorlayout.widget.CoordinatorLayout.onLayout(CoordinatorLayout.java:918)
at android.view.View.layout(View.java:26937)
at android.view.ViewGroup.layout(ViewGroup.java:6847)
at androidx.drawerlayout.widget.DrawerLayout.onLayout(DrawerLayout.java:1263)
at android.view.View.layout(View.java:26937)
at android.view.ViewGroup.layout(ViewGroup.java:6847)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:345)
at android.widget.FrameLayout.onLayout(FrameLayout.java:283)
at android.view.View.layout(View.java:26937)
at android.view.ViewGroup.layout(ViewGroup.java:6847)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:345)
at android.widget.FrameLayout.onLayout(FrameLayout.java:283)
at android.view.View.layout(View.java:26937)
at android.view.ViewGroup.layout(ViewGroup.java:6847)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:345)
at android.widget.FrameLayout.onLayout(FrameLayout.java:283)
at android.view.View.layout(View.java:26937)
at android.view.ViewGroup.layout(ViewGroup.java:6847)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1891)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1729)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1638)
at android.view.View.layout(View.java:26937)
at android.view.ViewGroup.layout(ViewGroup.java:6847)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:345)
at android.widget.FrameLayout.onLayout(FrameLayout.java:283)
at com.android.internal.policy.DecorView.onLayout(DecorView.java:1115)
at android.view.View.layout(View.java:26937)
at android.view.ViewGroup.layout(ViewGroup.java:6847)
at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:6160)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:5227)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:3924)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:12903)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1901)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1910)
at android.view.Choreographer.doCallbacks(Choreographer.java:1367)
at android.view.Choreographer.doFrame(Choreographer.java:1292)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1870)
at android.os.Handler.handleCallback(Handler.java:995)
at android.os.Handler.dispatchMessage(Handler.java:103)
at android.os.Looper.loopOnce(Looper.java:273)
at android.os.Looper.loop(Looper.java:363)
at android.app.ActivityThread.main(ActivityThread.java:10060)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:632)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:975)
```
### App information
* ID: `com.nextcloud.client`
* Version: `30350290`
* Build flavor: `gplay`
### Device information
* Brand: `samsung`
* Device: `e1q`
* Model: `SM-S921U1`
* Id: `BP2A.250605.031.A3`
* Product: `e1quew`
### Firmware
* SDK: `36`
* Release: `16`
* Incremental: `S921U1UES4CZA1`
### Server error logs
```bash
```
### Additional information
_No response_
Contributor guide
Assessment
This issue has not been assessed yet.