Fixed
Status Update
Comments
sh...@gmail.com <sh...@gmail.com> #2
Hmm
I can repro on API 33 but not on API 34
il...@google.com <il...@google.com>
jb...@google.com <jb...@google.com> #3
Can't repro with API 24 as well.
ap...@google.com <ap...@google.com> #4
Can't repro with 21 or 32. Looks like issue is specific to API 33.
il...@google.com <il...@google.com> #5
And seems to have nothing to do with ByteBuffer.
fun testCpu() {
val random = Random(Date().time)
val nanoTime = measureNanoTime {
repeat(100_000) {
sin(random.nextDouble())
}
}
Log.d("SinTest", "100_000 * sin() loop took ${TimeUnit.NANOSECONDS.toMillis(nanoTime)}ms")
}
Results in:
2023-08-02 11:32:07.506 9391-9391 SinTest com.alonalbert.myapplication D 100_000 * sin() loop took 9ms
2023-08-02 11:32:08.417 9391-9391 SinTest com.alonalbert.myapplication D 100_000 * sin() loop took 2ms
2023-08-02 11:32:09.296 9391-9391 SinTest com.alonalbert.myapplication D 100_000 * sin() loop took 1ms
2023-08-02 11:32:09.992 9391-9391 SinTest com.alonalbert.myapplication D 100_000 * sin() loop took 1ms
2023-08-02 11:32:10.720 9391-9391 SinTest com.alonalbert.myapplication D 100_000 * sin() loop took 1ms
---------------------------- PROCESS ENDED (9391) for package com.alonalbert.myapplication ----------------------------
---------------------------- PROCESS STARTED (9463) for package com.alonalbert.myapplication ----------------------------
2023-08-02 11:32:27.663 9463-9463 SinTest com.alonalbert.myapplication D 100_000 * sin() loop took 78ms
2023-08-02 11:32:28.537 9463-9463 SinTest com.alonalbert.myapplication D 100_000 * sin() loop took 105ms
2023-08-02 11:32:29.262 9463-9463 SinTest com.alonalbert.myapplication D 100_000 * sin() loop took 103ms
2023-08-02 11:32:29.887 9463-9463 SinTest com.alonalbert.myapplication D 100_000 * sin() loop took 104ms
2023-08-02 11:32:30.663 9463-9463 SinTest com.alonalbert.myapplication D 100_000 * sin() loop took 104ms
na...@google.com <na...@google.com> #6
I can reproduce without Android Studio in the loop at all.
Do the following on an API 33 device or emulator, then on any other API level.
$ adb install -r slow-under-debugger.apk
$ # Start the app and observe
$ adb jdwp
14051
^C
$ adb forward tcp:5005 jdwp:14051
$ jdb -attach hostname=localhost,port=5005
$ Observe the app
On a API 33 device, the execution time jumps by a factor of about 50 when it's attached to the debugger.Note that when the debugger is detached, it returns to normal.
Description
Steps to reproduce the problem (including sample code if appropriate).
TestBottomNav.zip
to Android Studio and runDashboard
orNotification
item on BottomNavigationView.What happened.
There is no response after clicking tab item, meanwhile there is no related exception messages printed in Logcat.
This abnormal behaviour was intentional made on my part, just to amplify the problem. To fix it, go to
app/src/main/res/menu/bottom_nav_menu.xml
, change everyandroid:id
starts withNavigation
tonavigation
will be fine.NavigationUI
should not ate the exception message with a simplefalse
return. This will drive novice developers crazy to find out the problem. SeeNo.