Android 中奇奇怪怪的知识又增长了

2020-11-14  本文已影响0人  GeeJoe

1. EditText 被销毁了但是软键盘还没有消失

原因: window 中其他 view 获取了焦点

解决办法: 设置 WindowsoftInputModeSOFT_INPUT_STATE_ALWAYS_HIDDEN,意为:当 Window 获取焦点时,不自动弹出软键盘

2. 当使用 PackageManager 的时候发生 TransactionTooLargeException

原因: 当我们使用 PackageManger 获取数据的时候(比如 getPackageInfo()getInstalledPackages() 等),可能会发生崩溃,原因是调用这些方法是跨进程通信的,而 Android 中的 Binder 通信机制是有 1MB 大小限制的,所以如果上述方法返回的数据超过 1MB 就会发生 TransactionTooLargeException

解决办法: 调用上述方法时,通过传入一些限制参数,比如 FLAG 来控制返回数据的大小,详见 Stackoverflow

3. Android 10 之后,在 xml 中,gradient 默认的 angle 是 270° (从上往下)

官方都没有提到过这个变动,好坑

4.

上一篇下一篇

猜你喜欢

热点阅读