小编Ale*_*kin的帖子

iOS 10 TextField密码(安全)在文本太长时冻结

升级到iOS 10后,我偶然发现了一个有趣的行为.似乎当密码太长时 - 当文本字段的字体大于"min font size"并且"adjust to fit"被检查时,应用程序会冻结.当我尝试输入更多的字符而不是输入宽度时,应用程序会冻结.iOS <10没有这个问题.

示例故事板:

在此输入图像描述

文本字段设置:红色 - 默认值的更改,橙色 - 防止冻结的两个文本字段之间的差异.

在此输入图像描述

我不确定为什么会这样,当我设法通过取消选中"适应"来解决它时,如果有人能解释为什么会发生这种情况,我将不胜感激.也许这是一个要求字体应<="min font size"?我还没有找到任何相关信息.

谢谢!

样本回购:https://github.com/sQu1rr/test-ios-freezing-password

passwords xcode uitextfield ios ios10

13
推荐指数
2
解决办法
1891
查看次数

Android垃圾邮件中旋转屏幕保存的实例状态和ActivityResultRegistry

每次屏幕旋转时,我的应用程序都会在 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 …

java android kotlin

5
推荐指数
1
解决办法
910
查看次数

标签 统计

android ×1

ios ×1

ios10 ×1

java ×1

kotlin ×1

passwords ×1

uitextfield ×1

xcode ×1