美文网首页
Android 中奇奇怪怪的知识又增长了

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

作者: GeeJoe | 来源:发表于2020-11-14 20:29 被阅读0次

    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° (从上往下)

    • xml 中 <gradient> 标签 angle = 0 --> 从左往右,angle = 90 --> 从下往上,逆时针以此类推
    • Android 10 以下,在 xml 中写 <gradient> 标签的时候,渐变色的默认方向是从左往右(不指定 angle 的时候默认值是 0)
    • Android 10 及以上,<gradient> 不指定 angle 默认值是 270 (从上往下)

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

    4.

    相关文章

      网友评论

          本文标题:Android 中奇奇怪怪的知识又增长了

          本文链接:https://www.haomeiwen.com/subject/ghvezctx.html