自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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关注的人

提示
确定要删除当前文章?
取消 删除