引言 自定义View 字面意思就是自己定义一个View以此完成自己的业务需求.当你在百度/Google cv大法搞不定你的业务需求的时候,这个时候就需要你自定义一个View来...
引言 自定义View 字面意思就是自己定义一个View以此完成自己的业务需求.当你在百度/Google cv大法搞不定你的业务需求的时候,这个时候就需要你自定义一个View来...
Android端的JS引擎:V8,JSC,Hermes V8和JSC是Android端常见的JS引擎。Hermes使用的人比较少。Hermes是Facebook专门为Reac...
本文参考 Android Developers 相关文档(源地址[https://developer.android.com/studio/build/maven-publi...
首先,在这里总结一下ActivityManagerService、PackageManagerService、WindowManagerService: AMS主要功能:AM...
项目中引用了chewie视频播放器插件,chewie引用了video_play_android,video_play_android版本过高而gradle版本过低的话会出现F...
最近项目有自动更新的需求,因为是无人值守的项目,所以需要静默更新并且更新完成后打开app,网上搜了一通,大概有两个方案。设备是root过的。 1、shell安装,广播开启 通...
零基础学黑客,搜索公众号:白帽子左一 另,免费领取黑客入门学习资料包及练手靶场![https://%E3%80%90%E8%85%BE%E8%AE%AF%E6%96%87%E...
之前有读者朋友说 Airtest 官方支持将自动化脚本编译成 APK 直接运行,照着官方提供的文档操作了一遍,发现不少的坑,今天带大家一起来填这些坑。 在开始编写自动化脚本之...
FlutterJsonBeanFactory是用来生成dart的json实体类和根据配置生成factory的idea全家桶的插件. 首先必须添加 intl: any 到 ...
缘由 其实不做优化,DynamicProviderSwitch也够用了。主要是想简化编译流程,提高编译速度,且尽量和官方流程一样。旧方案在api>=28的安卓版本上使用了隐藏...
一般的应用不太会用到instrumentation,所以网上对其介绍也比较少。 但因其强大的跟踪application及activity生命周期的功能,用于android 应...
介绍 动态库形式:.dylib和.framework 静态库形式:.a和.framework 动态库和静态库的区别 静态库:链接时,静态库会被完整地复制到可执行文件中,被多次...
我们先来看下Android应用程序打包流程: 通过上图可知,我们只要在图中红色箭头处拦截(生成class文件之后,dex文件之前),就可以拿到当前应用程序中所有的.class...
android 启动图标的尺寸大小和圆角半径大小规范 720*1280 px的安卓设计界面 对应的启动图标尺寸是 96px*96px 圆角约等于18px 1080*1920p...
【2020-1-10】 效果图 使用案例 先上效果图(聊天气泡) 1.BubbleWidget封装 通过系统的Canvas绘制 2.气泡组件使用 注意事项 必填参数宽度 Sc...
本着授人以鱼,不如授人以渔的道理,从源头出发,为大家说明RecyclerView在多列显示(多行同理)的情况下,如何添加分割线;首先,要想给RecyclerView添加分隔线...
在网上搜索了好多文章都没学懂proguard,还是看看原始文档比较好! A complete Android application(来自文档:ANDROID_HOME/to...
在学习qigsaw的过程中发现其加载和检查资源流程相对麻烦,从而造成效率低下。 加载新资源后不需要重复加载,所以加载资源调用次数非常少,基本都是检查逻辑。每次获取资源前都要检...
Android与资源管理相关的类Resouces和AssetManager很有必要清楚他们的创建过程。 与资源查找与加载操作相关的类 资源查找与加载主要是靠Android资源...