我尝试使用以下代码:var testNumber: Int = (0..4).random()我还尝试了以下代码:var testNumber: Int = Random.nextInt(0, 5)但是,无论何时运行应用程序,生成的数字都保持不变。
var testNumber: Int = (0..4).random()
var testNumber: Int = Random.nextInt(0, 5)
eufgjt7s1#
您使用的是哪个版本的Kotlin?There's a bug in 1.6.21(可能还有 1.5 之后的其他版本),由于Android处理ThreadLocalRandom的方式,某些版本的Android在重启后会产生相同的“随机”序列。如果您使用的是受影响的版本,请尝试将您的KotlinGradle插件升级到至少 1.7.20。如果出于某种原因不能这样做,您可能希望使用java.util.random.Random作为随机性的来源
ThreadLocalRandom
java.util.random.Random
1条答案
按热度按时间eufgjt7s1#
您使用的是哪个版本的Kotlin?There's a bug in 1.6.21(可能还有 1.5 之后的其他版本),由于Android处理
ThreadLocalRandom
的方式,某些版本的Android在重启后会产生相同的“随机”序列。如果您使用的是受影响的版本,请尝试将您的KotlinGradle插件升级到至少 1.7.20。如果出于某种原因不能这样做,您可能希望使用
java.util.random.Random
作为随机性的来源