Performance issue
Switching to and from Fullscreen takes alot of time.
Agree with that, Transition between full screen mode & portrait mode, also when rotate to landscape to watch full screen and back to portrait, it's notably slow & not a good experience specially when users coming from Upstream NewPipe Vanilla use PipePipe.
I have tested several times with a stopwatch but can't find out any notable difference. What device are you using? Landscape -> Portrait -> Landscape -> Portrait takes about 4.5s for both PipePipe and NewPipe on my device.
Stock Android 13 on the Xiaomi Redmi Note 11 (2201117TY), same issue here. This appears consistently after going into fullscreen mode for a second time, doesn't matter if it's the same video. It leads to interface freezes and sometimes outright crashes.
https://github.com/user-attachments/assets/2f9bf69d-cfbb-486a-a300-d4285d575602
Exception
- User Action: ui error
- Request: ACRA report
- Content Country: GB
- Content Language: en-GB
- App Language: en_GB
- Service: none
- Version: 3.8.1
- OS: Linux Android 13 - 33
Crash log
java.lang.OutOfMemoryError: Failed to allocate a 24 byte allocation with 2548720 free bytes and 2488KB until OOM, target footprint 268435456, growth limit 268435456; giving up on allocation because <1% of heap free after GC.
at j$.time.Instant.p(Unknown Source:29)
at j$.time.Instant.ofEpochMilli(Unknown Source:16)
at org.schabi.newpipe.database.Converters.offsetDateTimeFromTimestamp(Converters.kt:19)
at org.schabi.newpipe.database.history.dao.StreamHistoryDAO_Impl$9.call(StreamHistoryDAO_Impl.java:673)
at org.schabi.newpipe.database.history.dao.StreamHistoryDAO_Impl$9.call(StreamHistoryDAO_Impl.java:639)
at io.reactivex.rxjava3.internal.operators.maybe.MaybeFromCallable.subscribeActual(MaybeFromCallable.java:47)
at io.reactivex.rxjava3.core.Maybe.subscribe(Maybe.java:5330)
at io.reactivex.rxjava3.internal.operators.flowable.FlowableFlatMapMaybe$FlatMapMaybeSubscriber.onNext(FlowableFlatMapMaybe.java:131)
at io.reactivex.rxjava3.internal.operators.flowable.FlowableObserveOn$ObserveOnSubscriber.runAsync(FlowableObserveOn.java:402)
at io.reactivex.rxjava3.internal.operators.flowable.FlowableObserveOn$BaseObserveOnSubscriber.run(FlowableObserveOn.java:176)
at io.reactivex.rxjava3.internal.schedulers.ExecutorScheduler$ExecutorWorker$BooleanRunnable.run(ExecutorScheduler.java:322)
at io.reactivex.rxjava3.internal.schedulers.ExecutorScheduler$ExecutorWorker.runEager(ExecutorScheduler.java:287)
at io.reactivex.rxjava3.internal.schedulers.ExecutorScheduler$ExecutorWorker.run(ExecutorScheduler.java:248)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
at java.lang.Thread.run(Thread.java:1012)
Can you test
- if it work when disable comments
- if it work when disable thumbnails
That helps me know what happened, thanks.
I believe the issue should be fixed in 4.0.0