首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
android
订阅
shilichunfeng
更多收藏集
微信扫码分享
微信
新浪微博
QQ
13篇文章 · 0订阅
制作一个永远不会崩溃的App
最近想给 App 加上一个崩溃后自动重启的功能,便去查找了下资料,毕竟有很长一段时间没弄过。 不搜不知道,一搜吓一跳,居然看到这库的实现思路,居然能够让 App 产生异常后,不会崩溃。 好了,废话不多说,赶紧进正文。 其有两个版本,两个版本的思路是不一样的,但是能够实现同样的功…
Activity界面销毁 软键盘未收回
注意:此篇记录的是调用.finish()返回时软键盘未回收问题,而非手机本身的back键(手机本身的back键点击是会先收回软键盘,在销毁Activity)。 1、在AndroidManifest.java清单文件的标签下加入stateUnspecified。使用环境是在Act…
Activity插件化原理第一种方案:Hook Instrumentation
人生一切难题,知识给你答案。 Activity的插件化解决的一个根本性问题就是插件中的Activity并没有在宿主的AndroidManifest.xml中进行注册,也就是说我们需要启动一个未注册的Activity,因此需要对Activity的启动过程有个了解。 启动Activ…
Java SPI机制:ServiceLoader实现原理及应用剖析
SPI,全称Service Provider Interfaces,服务提供接口。是Java提供的一套供第三方实现或扩展使用的技术体系。主要通过解耦服务具体实现以及服务使用,使得程序的可扩展性大大增强,甚至可插拔。 基于服务的注册与发现机制,服务提供者向系统注册服务,服务使用者…
DialogFragment细枝末节
DialogFragmeng相比Dialog的优势。 DialogFrargment的使用。 DialogFragment简单源码分析。 DialogFragment需要注意的一些小细节。 在 DialogFragment之前,我们创建对话框一般采用 Dialog,而且从代码的…
Gradle插件从入门到进阶
Gradle本身的领域对象主要有Project和Task。Project为Task提供了执行上下文,所有的Plugin要么向Project中添加用于配置的Property,要么向Project中添加不同的Task。一个Task表示一个逻辑上较为独立的执行过程,比如编译Java源…
接锅太急?DownloadManager助你一臂之力
2. 构造Request对象 3. 配置Request的信息 setAllowedNetworkTypes(int flags) 设置下载时的网络条件,默认任何网络都可以下载,可选配置:NETWORK_BLUETOOTH、NETWORK_MOBILE、NETWORK_WIFI。…
提供一种Fragment可见性改变的监测方案
Fragment,这个让人又爱又恨“碎片”。 使用它可以让项目更加轻便--我们可以将功能分割、复用,但其复杂的生命周期和Transaction事务,在极端操作【某些测试人员有一手绝活,三指甚至六指同时触屏乱弹】下会出现一些不可预期的错误--Fragment嵌套Fragment,…
Android博客大汇总
为何直接获取宽高为0?onWindowFocusChanged获取宽高,view.post(runnable)获取宽高,ViewTreeObserver获取宽高,手动测量控件宽高,这几种方式的区别介绍分析。 selector创建方式,状态设置说明,义的xml文件可以作为两种资源…
你可能需要 SPI 了
在项目组件化的过程中,曾通过 AndoridManifest.xml 注册的方式实现过 Application 生命周期的组件化,类似 Glide 中解析 AndoridManifest.xml 发现 GlideModule 的机制,有点繁琐。而后了解到 Google 的 Au…