- 博客(14)
- 收藏
- 关注
原创 Android中View相关的知识
继承View重写onDraw方法这种方法主要用于实现一些不规则的效果,即这种效果不方便通过布局的组合方式来达到,往往需要静态或者动态地显示一些不规则的图形。很显然这需要通过绘制的方式来实现,即重写onDraw方法。采用这种方式需要自己支持wrap_content,并且padding也需要自己处理。继承ViewGroup派生特殊的Layout这种方法主要用于实现自定义的布局。
2022-09-18 11:33:20 864 1
原创 windows基础知识
res/raw中的文件会被映射到R.java文件中,访问时可直接使用资源ID,不可以有目录结构,这里的资源会在运行打包操作的时候判断哪些被使用到了,没有被使用到的文件资源是不会打包到安装包中的。assets文件夹下的文件不会被映射到R.java中,访问时需要AssetManager类,可以创建子文件夹,存放到这里的资源在运行打包的时候都会打入程序安装包中。的视图,是各种炫酷控件的最终父类,维护了绘制流程以及事件的分发和处理;四大组件之一,也是我们最常见的页面的宿主,通过。的展示以及事件的分发;
2022-09-12 12:21:19 743
原创 Activity启动流程概述
对于通过点击应用图标启动activity的场景说,AMS在这一步中没回调用startProcessLocked来创建一个新的进程,而对于通过在内部启动新的activity来说,这一步不需要执行,因为新的activity就在原来的activity所在的进程中启动。无论是通过Launcher启动,还是通过activity 内部来调用startActivity接口 来启动新的activity,都是通过Binder进程间通信进入到AMS进程中,并且调用AMS.startActivity 接口。
2022-09-12 10:16:31 1716
原创 不引入头文件使用文件内容的几种方式
不引入头文件使用文件内容的几种方式项目解耦中碰到比较头疼的问题,就是文件引用问题,很多引用的文件并不属于当前模块,并且无法解耦到底层,有时候为了避免中间层之间的循环引用等等,引用文件的用途主要有如下几种情况。1. 只是单纯的跳转到某个VCClass cls = NSClassFromString(@"GuideInstalledViewController");if (!cls) {re......
2022-08-13 16:25:03 643
原创 JVM基础知识
JVM会用一段空间来存储执行程序期间需要用到的数据和相关信息,这段空间就是运行时数据区(Runtime Data Area),也就是常说的JVM内存。JVM会将它所管理的内存划分为线程私有数据区和线程共享数据区两大类:(1)判定对象可回收有两种方法:(2)回收算法有以下四种:分代收集算法:是当前商业虚拟机都采用的一种算法,根据对象存活周期的不同,将Java堆划分为新生代和老年代,并根据各个年代的特点采用最适当的收集算法。在java中,堆和栈都是内存中存放数据的地方,具题区别是:强引用(StrongRefer
2022-06-03 21:12:59 193 1
原创 Activity基础知识
当activity变得容易被系统销毁前,会回调 方法,除非该 activity 是被用户主动销毁的(比如按下BACK键)。android 应用框架中定义的几乎所有 UI 控件都恰当的实现了 方法,因此当 activity 被摧毁和重建时, 这些 UI 控件会自动保存和恢复状态数据. 比如 EditText 控件会自动保存和恢复输入的数据,而 CheckBox 控件会自动保存和恢复选中状态.开发者只需要为这些控件指定一个唯一的 ID (通过设置 android:id 属性即可), 剩余的事情就可以自动完成
2022-06-03 12:17:40 473
原创 五种单例模式
顾名思义,有饥饿感,提前就加载了,饿汉式在类被加载的时候就创建好了实例,此时有可能实例还没有用到。两种写法:懒汉式(不推荐)懒汉式只有在实际需要的时候才会创建实例,实现起来也很简单,由一个静态方法返回实例,同时对这个静态方法加了一把锁,所有来获取实例的方法都会去竞争这把锁,不管实例有没有创建。不加锁线程不安全。但这也带来了一个问题,就是锁的粒度太粗。实际上,只有首次创建实例时,为了防止多线程同时创建多个实例才需要锁,当实例已经创建完成后,直接返回实例就好,不再需要什么锁了。但在当前示例里,不管实例有
2022-06-03 11:44:33 182
转载 Android Q初窥(二)行为变更
目录行为变更所有APP手势导航非 SDK 接口限制NDKBionic 库和动态链接器路径变更系统二进制文件/库会映射到只执行内存安全性WLAN 直连广播WLAN 感知功能Go 设备上的 SYSTEM_ALERT_WINDOW关于以旧版 Android 系统为目标平台的应用的警告移除了 SHA-2 CBC 加密套件应用使用情况HTTPS 连接变更android.preference 库现已弃用ZIP...
2019-09-18 14:57:05 1938
转载 Android Q 初窥(一)隐私权及深色模式
目录欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑...
2019-09-18 14:53:33 1462
原创 Swift编码规范(目前swift 4.2,持续更新)
参考项目实际、官方文档、raywenderlich(传送门)等大神总结的swift语言的编码规范,适应目前swift 4.2,笔者会不定期更新,欢迎指正补充约定,请尽量确保代码编译不残留warning,这有可以规避很多问题目录命名规范排版格式注释函数闭包变量命名规范打开 -Wunguarded-availability 在调用高版本API时候报warning,为避免warning过多而忽视...
2019-01-22 17:56:16 2736
原创 IOS 各种场景下OC与swift的混编处理汇总
OC与swift混编在最上层项目中混编swift引用swiftswift引用OCOC引用swiftOC引用OC在Framework层混编swift引用swiftswift引用OCOC引用swiftOC引用OC上层项目引用Framework时混编swift引用swiftswift引用OCOC引用swiftOC引用OC近期进行项目重构工作,将原先的项目拆分成子framework解耦,因为原项目是OC...
2018-12-26 12:08:45 695
原创 Android中全局获取Context
在日常开发中,很多情景都需要用到Context,例如:Toast,启动活动,发送广播,操作数据库,使用通知等等。如果在活动中进行这些操作倒是没有什么难点,活动本身就是Context。当架构复杂,代码逻辑脱离Activity时,就需要自定义一个全局Context以供调用。Android提供里一个Application类,每当app启动的时候,系统会自动将这个类进行初始化,因此我们可以自定义一个A...
2017-10-24 10:34:23 250
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人