首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
散人丶
掘友等级
Android
|
散人丶
无~~
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
33
文章 33
沸点 0
赞
33
返回
|
搜索文章
赞
文章( 33 )
沸点( 0 )
flutter 与native通信初探
上图来自Flutter官网,表明了Platform Channels的架构示意图。有细心的同学就要问了,你不是说Flutter和Native通信是通过Platform Channels吗?怎么架构图里面连接他们的是MethodChannel? 其实呢,MethodChannel…
重走JAVA之路(二):面试中的单例模式(从入门到放弃)
这种写法,不能确保你的实例是在调用getInstance方法时生成的,因为类的加载机制是在可能需要使用到这个类的时候就加载(比如其他地方引用到了这个类名等等),不清楚的可以看下上篇文章 静态变量的生命周期,所以这种也不能达到懒加载的效果。 单例的枚举实现在《Effective …
你真的了解16.6ms刷新机制吗?
熟悉Activity启动流程的朋友都知道,Activity 的启动是在 ActivityThread 里完成的,handleLaunchActivity() 会依次间接的执行到 Activity 的 onCreate(), onStart(), onResume()。在执行完这…
带你通俗理解https
这个时候第一想法就是,使用对称加密的方式,A使用秘钥对消息进行对称加密,然后B也通过同一份秘钥进行解密,这样就算C看到消息,也是密文,但是有个问题 ,之前也说了A和B是不能直接说话的,那么这个秘钥A怎么告诉B呢,有人说再加密。。那就回到了鸡生蛋蛋孵鸡的问题了 为了解决上面的问题…
View.post为什么可以拿到View的宽高?
再次回到主题,那为什么View.post(),就可以获取到准确的值呢,不妨猜测一下,首先整体上思考一下,想要实现知道准确的宽高,那就是post的Runnable那肯定是在View整个绘制流程结束之后才执行的,主线程又是基于Looper的消息机制的,如果把Runnable直接作为…
重走JAVA之路(一):复盘ButterKnife-编译时注解
其实一直想写这么个系列,虽然Android开发大部分是基于Java语言的,但是日常开发中基本涉及的都比较简单,当遇到一些疑难杂症的时候,很难去找到根因,本系列就针对一些平常开发比较少涉及的JAVA点,比如、注解、代理、并发等等,希望能帮到一些朋友重新巩固下基础知识。 今天我们主…
求求你们不要再问HashMap原理了....
相信大多数朋友都使用过HashMap,面试也经常会被问到,但往往都回答的都不尽人意,确实,HashMap还算是比较复杂的一个数据结构,尤其是在JDK1.8之后又引入了红黑树之后。本文就基于JDK1.8的HashMap源码,带大家将常用方法、重要属性及相关方法进行分析,HashM…
事件分发机制(二):源码篇
本篇就基于上篇的知识上,跟着大家走一波事件分发的源码,这样可能大家能够更理解下源码. 代码比较简单,事件从Activity向下分发,如果事件被消费,直接返回True,如果都没有处理消费,只能由自己onTouchEvent自己处理,由此可见,整体事件分发机制就是类似一个U字型的流…
事件分发机制(一):解惑篇
本文粗略解析下事件分发机制,后续会分析下源码,希望能够帮助到大家解惑一二。 同一时间序列事件是指以down事件开始,中间含有数量不定的move事件,最终以up事件结束。 如果ViewGroup拦截了一个半路的事件(比如,MOVE),这个事件将会被系统变成一个CANCEL事件,并…
重走JAVA之路(七):你要的JAVA内存结构
程序计数器属于内存中比较小的一块空间,属于线程私有的,其作用可以大概理解为记录当前线程所执行的字节码位置,或者通俗来说可以理解为代码执行到第几行了,为什么需要这么一小块空间做这种事情呢,因为JVM的多线程操作实际上并不是真正意义上的并行,是通过线程轮流切换并分配CPU执行时间片…
下一页
个人成就
文章被点赞
667
文章被阅读
116,000
掘力值
3,502
关注了
7
关注者
2,075
收藏集
1
关注标签
6
加入于
2019-01-06