- 博客(11)
- 收藏
- 关注
原创 android自定义plugin案例
重新编译我们的插件(uploadArchives)——>执行任务(HxgReleaseTask )这里的包名千万不能丢(你可以先建个class,然后修改后缀名为groovy),否者会出现。versionInfo = ‘App的第8个版本,上线基本架构核心功能’@param project 引入当前插件的project。//将生成的xml数据插到根结点之前。//将实体对象转换为xml。插件被引入是需要执行的方法。//获取将要写入的信息。为自定义插件传递参数。
2024-09-22 13:55:12
964
1
原创 ARM TrustZone技术解析:构建嵌入式系统的安全扩展基石_arm trust zone
首页,在软件架构的设计中,就分为: Non-secure EL0&1 Transslation Regime 和 Secure EL0&1 Transslation Regime,即normal world和secure world侧使用不同的Transslation Regime;即secure的页表可以映射non-secure或secure的内存,而non-secure的页表只能去映射non-secure的内存,否则在转换时会发生错误。如下列出了一些和安全相关的架构。
2024-09-22 13:08:03
2085
原创 Android热更新方案之阿里AndFix-原理以及源码解析
在类加载器里面,如果知道需要修改的方法(annotation标记的),则调用fixClass去修复bug.在fixClass里面调用replaceMethod方法用patch里面的方法替换掉要修改的方法。PachManager.init()里面获取AndFix的版本信息,如果信息一致。在这个类里面主要是检测设备是否是支持的AndFix的设备,YunOS不支持。fix方法首先签名验证,一般是文件的MD5,通过之后获取dex文件,把路径下的patch加到mPatch列表里面。最终调用native层的方法。
2024-09-22 12:07:48
822
原创 Android开发菜鸟完成了三年前留下的遗憾,Bilibili我来了!!
今年9月份的时候,以前社团学长知道我非常想进bilibili,特意告诉我B站有内推名额,问我要不要来试一下,我一口直接答应,然后把手上的工作辞掉了,破釜沉舟一把,宅家里半个月复习。将学工作3年的积累经验都系统的归纳整理了起来。再过一篇,然后就是刷题,找朋友模拟面试场景练习等等等。世间所有的付出终是有回报的,努力的耕耘,也没有被辜负。
2024-09-22 09:29:07
471
原创 Android学习排坑:开发初期水平停滞之后怎么提升?切忌杂学乱学,无效的学习路线学习十年也没用!
*架构师筑基必备技能:**深入Java泛型+注解深入浅出+并发编程+数据传输与序列化+Java虚拟机原理+反射与类加载+动态代理+高效IO**Android高级UI与FrameWork源码:**高级UI晋升+Framework内核解析+Android组件内核+数据持久化**360°全方面性能调优:**设计思想与代码质量优化+程序性能优化+开发效率优化。
2024-09-22 06:54:48
1218
原创 Android中TextView和EditView常用属性设置
android:drawablePadding设置text与drawable(图片)的间隔,与drawableLeft、drawableRight、drawableTop、drawableBottom一起使用,可设置为负数,单独使用没有效果。android:autoLink设置是否当文本为URL链接/email/电话号码/map时,文本显示为可点击的链接。android:width设置文本区域的宽度,支持度量单位:px(像素)/dp/sp/in/mm(毫米),与layout_width的区别看这里。
2024-09-22 04:20:25
477
原创 Android 面试:事件分发8连问
这里涉及到了和Binder跨进程通信,读者不需要纠结于详细的细节只需了解最终在进程中,根据当前的Window创建了SocketPair用于跨进程通信,同时并对App进程中传过来的进行了注册这之后,里的就指向了正确的, 作为Client端,其fd与进程中Server端的fd组成SocketPair, 它们就可以双向通信了。然后我们App进程的主线程就会监听socket客户端,当收到消息(输入事件)后,回调方法,最终会走到方法。经过以上操作App终于拿到输入事件了,接下来就是传递到对应页面。
2024-09-22 01:41:57
495
原创 Android 循环录像,保留加锁视频
/ 视频文件名称,如:2015-07-01_105536.mp4。// 视频分辨率:720/1080。// 是否加锁:0-否 1-是。4.如果删除所有的未加锁视频后,空间依然不足,则开始删除加锁视频。5.如果删除所有的加锁视频,空间依然不足,提示用户清理SD卡。3.如果低于预设底限,则开始删除较旧的未加锁视频。获得sd卡剩余容量,即可用大小。// 删除较旧未加锁视频文件。获取最旧且未加锁视频ID。
2024-09-21 23:09:27
581
原创 Android WindowFeature小探究
如果开启OpenGL,那么2D将由OpenGL处理(OpenGL中2D是3D的子集)在标题栏上显示加载进度,例如webview加载网页时(条状进度条)FEATURE_INDETERMINATE_PROGRESS = 5;Toast.makeText(Main.this, “ID=7:暂未自定义标题栏,无法预览。
2024-09-21 20:32:30
668
原创 Android Jetpack(三) 架构
/在传递 nameObserver 参数的情况下调用 observe() 后,系统会立即调用 onChanged(),从而提供 mCurrentName 中存储的最新值。//例如,如果回调在 Activity 状态保存后运行 Fragment 事务,就会引发崩溃,因此我们绝不能调用该回调。//如果 Lifecycle 现在未处于良好的状态,则应避免调用某些回调。//所以,Lifecycle 类允许其他对象查询当前状态。//LiveData没有任何活跃观察者时。//LiveData有活跃观察者时。
2024-09-21 17:57:30
1099
原创 Activity-的-36-大难点,你会几个?「建议收藏」
如果处于任务栈的顶端,也就是说之前打开过的Activity,现在处于onPauseonStop状态的话,其他应用再发送Intent的话onRestartonStartonResume。服务器可以定制化跳转app页面app可以通过Scheme跳转到另一个app页面可以通过h5页面跳转app原生页面四大组件之一,通常一个用户交互界面对应一个activity。activity是Context的子类,同时实现了和,可以处理与窗体用户交互的事件。开发中常用的有被Fragment取代)ANR,全称为。
2024-09-21 14:19:21
1175
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人