升级到iOS 10后,我偶然发现了一个有趣的行为.似乎当密码太长时 - 当文本字段的字体大于"min font size"并且"adjust to fit"被检查时,应用程序会冻结.当我尝试输入更多的字符而不是输入宽度时,应用程序会冻结.iOS <10没有这个问题.
示例故事板:
文本字段设置:红色 - 默认值的更改,橙色 - 防止冻结的两个文本字段之间的差异.
我不确定为什么会这样,当我设法通过取消选中"适应"来解决它时,如果有人能解释为什么会发生这种情况,我将不胜感激.也许这是一个要求字体应<="min font size"?我还没有找到任何相关信息.
谢谢!
每次屏幕旋转时,我的应用程序都会在 onSaveInstanceState() 活动中保存更大的包,并且我遇到了一些非常令人困惑的事情。这是一个最小的例子:
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
}
override fun onSaveInstanceState(outState: Bundle) {
super.onSaveInstanceState(outState)
val rcs = outState.getIntegerArrayList("KEY_COMPONENT_ACTIVITY_REGISTERED_RCS")
val keys = outState.getStringArrayList("KEY_COMPONENT_ACTIVITY_REGISTERED_KEYS")
Log.d("MainActivity", "${rcs?.size}: $rcs, $keys")
}
}
Run Code Online (Sandbox Code Playgroud)
每次旋转屏幕时我都会得到以下输出:
3: [1332505437, 1835553837, 670316111], [FragmentManager:StartIntentSenderForResult, ...
6: [1332505437, 91080073, 1835553837, 381123153, 1187376284, 670316111], ...
...
Run Code Online (Sandbox Code Playgroud)
查看 6 次旋转后的完整日志:https://pastebin.com/yfE04Fmc
每次旋转屏幕时,都会向这两个条目添加 3 个元素。旋转屏幕一段时间后,实例状态无明显原因明显变大。
目标API:30
测试依据:API 28 和 30
有谁知道为什么会发生这种情况?
更新:我想澄清一下,我不会将任何状态保存到捆绑包中。我显示的值是由 Android 本身创建的:在 ActivityResultRegistry 中。我为此示例创建了一个空项目,并且我提供的代码是我拥有的唯一代码 - 没有其他代码与状态包交互。
更新 2:已提交错误报告:https ://issuetracker.google.com/issues/191893160 …