- 博客(6)
- 收藏
- 关注
原创 关于InputMethod的flag
也就是说,如果FLAG_NOT_FOCUSABLE被设置并且该标志被设置,那么窗口将表现得好像它需要与输入法交互,从而被放置在它的后面/远离它;如果未设置FLAG_NOT_FOCUSABLE并且设置了此标志,则窗口将表现为不需要与输入法交互,并且可以放置为使用更多空间并覆盖输入法。自己创建Dialog或者是addView创建popup时,需要设置使用flag:WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM。
2023-04-24 10:38:51 111
原创 报错android.view.WindowManager$BadTokenException: Unable to add window -- token null is not valid; is
因为在AlertDialog进行builder的时候需要传当前Activity的Context的对象,不能使用getApplicationContext获取的对象。
2023-04-24 10:31:59 142 1
原创 Editor设置放大镜 光标大小, EditText,TextView
在TextView创建时,会创建Editor对象,在Editor创建时会直接创建MagnifierMotionAnimator对象(继承Magnifier),由于TextView继承View,所以有重写onAttachedToWindow和onDetachedFromWindowInternal。在这两个回调被调用时,会调用Editor的onAttachedToWindow和onDetachedFromWindowInternal。Editor是光标的管理类,里面进行了对光标的大小和放大镜的显示设置。
2023-04-24 10:23:30 185
原创 InputManagerService Input输入系统 InputManager
在android系统中目录下/dev/input/下记录着输入设备的设备节点,用户空间可以通过ioctl的方式获取设备节点的输入设备类型、厂商、描述信息等。android通过监听该目录的变化进行添加和删除设备节点,通过监听具体的设备节点的写入,来进行对输入事件的解析,再传送到具体的事件处理View等。Android系统接收到的原始事件为上述格式,但是这种事件并不会很好的被app使用并且识别,所以android系统会将原始事件解析成KeyEvent和MotionEvent类型。
2022-09-29 15:55:13 1512
原创 Android 学习
Android Low Memory Killer Daemon (lmkd) 是一个进程,它监视正在运行的 Android 系统的内存状态,并通过杀死最不重要的进程来对高内存压力做出反应,以使系统性能保持在可接受的水平。从历史上看,在 Android 系统上,内存监控和非必要进程的终止是由内核 lowmemorykiller 驱动程序处理的。自 Linux Kernel 4.12 起,lowmemorykiller 驱动程序已被删除,取而代之的是用户空间 lmkd 守护进程执行这些任务。
2022-09-21 16:51:09 1436
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人