摘要: ANR出现的几种情况 主线程在规定时间内未处理完相应工作,就会ANR。 ① 输入事件(按键和touch)5s内未被处理; ② BroadcastReceiver的事件,onReceiver方法在规定时间内没处理完(前台广播10s,后台广播60s); ③ service前台20s后台200s未完成启动 阅读全文
posted @ 2023-09-10 16:39 Sharley 阅读(500) 评论(0) 推荐(0) 编辑
摘要: Android系统启动流程 打开电源时,先启动BootLoader → 使用BootLoader加载Linux内核 → 启动init进程 → 启动zygote进程 -(zygote调用system_server进程)→拉起packageManagerService和AMS(ActivityManag 阅读全文
posted @ 2023-09-08 16:13 Sharley 阅读(98) 评论(0) 推荐(0) 编辑
摘要: run()和start()方法区别 run():方法只是线程的主体方法,和普通方法一样,不会创建新的线程。 start():只有调用start()方法,才会启动一个新的线程,新线程才会调用run()方法,线程才会开始执行。 wait、notify、notifyAll 区别 wait():释放obj的 阅读全文
posted @ 2023-09-06 17:36 Sharley 阅读(46) 评论(0) 推荐(0) 编辑
摘要: Glide图片加载框架的实现原理是基于三个主要组件:RequestManager、Request和Engine。 RequestManager是Glide的入口类,负责管理和协调图片加载请求。Request是一个请求的封装类,包含了图片加载所需的各种参数和配置。Engine是Glide的核心引擎,负 阅读全文
posted @ 2023-09-05 12:29 Sharley 阅读(84) 评论(0) 推荐(0) 编辑
摘要: Java中的多态是面向对象编程的一个重要特征,它允许同一个类型的对象在不同的情况下表现出不同的行为。多态是Java语言中实现代码复用、提高代码可维护性和可扩展性的重要手段。 多态的实现基于两个核心概念:继承和方法重写。 在Java中,子类可以继承父类的方法,并且可以重写(覆盖)这些方法,从而实现不同 阅读全文
posted @ 2023-09-01 23:13 Sharley 阅读(19) 评论(0) 推荐(0) 编辑
摘要: Android禁止长安EditText时输入框弹出复制粘贴分享选项,原理即 禁止长按事件 ActionMode 回调 反射 android.widget.Editor 修改弹框菜单不显示 Android代码: /** * 禁止输入框复制粘贴菜单 */ public void disableCopyA 阅读全文
posted @ 2021-08-26 17:28 Sharley 阅读(1289) 评论(0) 推荐(0) 编辑
摘要: 预期效果是大多app都会用到的首页顶部图片banner,3s自动轮播,也可手动切换 用法很简单,做attach就好(以下为kotlin代码) recyclerView.layoutManager = LinearLayoutManager(context, LinearLayoutManager.H 阅读全文
posted @ 2021-08-17 17:12 Sharley 阅读(1969) 评论(0) 推荐(0) 编辑
摘要: Android使用WebView网页中要求获取麦克风权限,原生webView在setWebChromeClient()回调 onPermissionRequest 处理即可,不会弹窗(测试机系统9.0) 后来因为项目需要,更改为使用腾讯X5内核的WebView,权限请求时使用了原生中同样的方法,发现 阅读全文
posted @ 2021-07-21 18:10 Sharley 阅读(2105) 评论(0) 推荐(0) 编辑
摘要: 项目中使用X5内核的WebView加载一个游戏网页,进入页面时正常,只要有点击事件,不管点哪里都会直接卡死网页,没找到什么原因,找到了这个解决方法,但是也不太清楚到底为什么。 解决方法:设置webView开启debug模式 WebView.setWebContentsDebuggingEnabled 阅读全文
posted @ 2021-07-21 10:49 Sharley 阅读(2247) 评论(0) 推荐(0) 编辑
摘要: 在scrollView中想要嵌套一个可滑动的textView,不要用scrollView嵌套scrollView,给textView添加以下设置即可 1 textView.movementMethod = ScrollingMovementMethod.getInstance() 2 textVie 阅读全文
posted @ 2021-07-07 17:18 Sharley 阅读(81) 评论(0) 推荐(0) 编辑