首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏进阶高级前端工程师

    React源码分析6-hooks源码6

    本文将讲解 hooks 的执行过程以及常用的 hooks 的源码。 总结所以我们总结一下 renderWithHooks 这个函数,它所做的事情如下: 图片hooks 源码前面 hooks 的执行入口我们都找到了,现在我们看一下常用的一些 hooks 源码。 updateReducer 的源码如下:function updateReducer<S, I, A>( reducer: (S, A) => S, initialArg: I, init? useCallback & useMemouseCallback 和 useMemo 也是一样,源码结构上十分相似,所以也放在一起来讲。 其他 hook 平时用的比较少,就不在这里展开讲了,但通过上面几个 hook 的源码讲解,其他 hook 看源码你应该也能看得懂。

    81150编辑于 2023-01-10
  • 来自专栏增长技术

    Android Studio查看Android源码

    下载源码 使用repo从源码仓库下载Source 从百度网盘下载别人下载好的Android5.0 编译源码 1. 进入Android 源码根目录 2. 执行 #这行命令的意思是生成对应的文件:android.iws, android.ipr, android.iml . sh . /development/tools/idegen/idegen.sh 导入到Android Studio 打开Android Studio,点击File>Open,选择刚刚生成的android.ipr

    2.9K20发布于 2018-09-06
  • 来自专栏全栈程序员必看

    Android layout_Android源码

    文章目录 LayoutParams源码分析 概述 LayoutParams基本用法 LayoutParams源码分析 LayoutParams源码分析 概述 LayoutParams是布局参数的意思,我们在 setLayoutParams(new LinearLayout.LayoutParams(100, 100)); linearLayout.addView(textView3); LayoutParams源码分析 R.styleable.ViewGroup_MarginLayout_layout_width, R.styleable.ViewGroup_MarginLayout_layout_height); int margin = a.getDimensionPixelSize( com.android.internal.R.styleable.ViewGroup_MarginLayout_layout_margin

    71510编辑于 2022-11-08
  • 来自专栏小陈飞砖

    android源码(1)LiveData源码

    sync(); //源码前面有 } mAddingObserverCounter--; } 4、LiveData数据设置 LiveData有两种方式设置数据 mVersion++; mData = value; dispatchingValue(null); //前面已经有了dispatchingValue的源码

    2.6K30编辑于 2022-06-25
  • 来自专栏yanlongli_艳龙

    Android 源码下载

    AOSP (Android Open Source Project) 参考文档:https://source.android.google.cn/setup/downloading 源码地址 安装 Repo WORKING_DIRECTORY cd WORKING_DIRECTORY 2.运行 repo init 以获取最新版本的 Repo 及其最近的所有错误更正内容 repo init -u https://android.googlesource.com 要查看分支列表,请参阅源代码标记和版本 repo init -u https://android.googlesource.com/platform/manifest -b android-4.0.1

    3.1K30编辑于 2021-12-16
  • 来自专栏全栈程序员必看

    Android源码学习之环境搭建(Ubuntu下载Android源码

    已经有一个多月没有看Android的知识了,之前在杭州时就买了邓凡平的《深入理解Android卷I 》一直没来得及研究。 趁现在有时间来研究下Android源码。之前没有接触过Linux系统,我的本本现在用的是Windows系统,已经用习惯了。 接下来说重点,Ubuntu上下载Android源码。 特别提醒:Android下载,编译时要确保系统的内存在1.2GM以上,且有足够的硬盘可用空间,否则会编译失败终止。 现在整个源码下载完大概在15G左右,在加上编译的,所以安装虚拟机时硬盘空间最好在35G-45G(个人建议),我就吃了这的亏,没仔细看说明,就下载,下暴了Ubuntu虚拟硬盘,系统都进不去。 Android项目编写了一个名为Repo的Python的脚本来统一管理这些项目的仓库,repo用Python脚本写的调用git的一个脚本,主要功能是下载、管理Android项目的软件仓库。

    99120编辑于 2022-08-23
  • 来自专栏爪哇缪斯

    源码解析:ThreadPoolExecutor(6

    4.4> addWorkder的Part2解析 我们先看一下Part2的源码和注释: 在Part2的逻辑中,我们就真正的开始了线程池的操作了。这部分才是真正的“高潮”部分。我们来往下看。 t.start(),由于Worker是Runnable,所以,调用的其实就是Worker的run方法,而Worker的run方法里,调用了非常重要的那个方法——runWorker(this); ---- 五、源码解析 下面为方法的源码和注释: 【解释】 从runWorker的代码逻辑中,我们能够看出来,它的主要处理逻辑就是执行外部指定的firstTask或者从阻塞队列中获得待执行的任务,然后调用run方法进行执行。 那么,怎么在源码中没有发现在哪呢?其实,他们都在获取队列中的任务getTask()方法中呢。我们下面将会对这个方法进行解析。 ---- 后面的内容,参见:源码解析:ThreadPoolExecutor(7)

    14610编辑于 2023-05-09
  • 来自专栏浪浪山下那个村

    【Redis源码】Redis 6 ACL源码详解

    简介 本文主要是讲解Redis 6的ACL的实现原理。基本使用详见:Redis 6.0新特性——ACLs,以及Redis启动过程分析。 . */ } ACLInitDefaultUser函数主要是初始化默认用户,在Redis 6当中默认用户的权限就相当于操作系统的管理员一样,拥有很大的权限,要限制远程使用默认用户连接。

    81530编辑于 2022-08-26
  • 来自专栏Java架构师必看

    spring源码分析6

    spring源码分析6 强烈推介IDEA2020.2破解激活,IntelliJ

    31920发布于 2021-04-13
  • 来自专栏进阶高级前端工程师

    React源码分析6-hooks源码

    本文将讲解 hooks 的执行过程以及常用的 hooks 的源码。 总结所以我们总结一下 renderWithHooks 这个函数,它所做的事情如下: 图片hooks 源码前面 hooks 的执行入口我们都找到了,现在我们看一下常用的一些 hooks 源码。 updateReducer 的源码如下:function updateReducer<S, I, A>( reducer: (S, A) => S, initialArg: I, init? useCallback & useMemouseCallback 和 useMemo 也是一样,源码结构上十分相似,所以也放在一起来讲。 其他 hook 平时用的比较少,就不在这里展开讲了,但通过上面几个 hook 的源码讲解,其他 hook 看源码你应该也能看得懂。

    74930编辑于 2022-11-30
  • 来自专栏icecream小屋

    清华大学Android源码镜像下载最新Android系统源码

    下载最新Android系统源码,可以在国内的清华大学Android源码镜像下载,速度也是挺快的。我晚上几个小时就下载下来了。 AOSP 工程目录 # 这时 ls 的话什么也看不到,因为只有一个隐藏的 .repo 目录 repo sync # 正常同步一遍即可得到完整目录(因为已经下载了大部分,更新很快) 这样,就得到了最新的android 镜像源码,我获取到的为:7.0的android源码。 可以通过查看:build/core/version_defaults.mk查看当前的android系统的版本号

    3.7K10发布于 2019-12-26
  • 来自专栏关键帧Keyframe

    Android AVDemo(6):音频渲染,免费获得源码丨音视频工程示例

    塞尚《自助餐》 iOS/Android 客户端开发同学如果想要开始学习音视频开发,最丝滑的方式是对音视频基础概念知识有一定了解后,再借助 iOS/Android 平台的音视频能力上手去实践音视频的采集 在音视频工程示例这个栏目,我们将通过拆解采集 → 编码 → 封装 → 解封装 → 解码 → 渲染流程并实现 Demo 来向大家介绍如何在 iOS/Android 平台上手音视频开发。 这里是 Android 第六篇:Android 音频渲染 Demo。 1、音频解封装模块 在这个 Demo 中,解封装模块 KFMP4Demuxer 的实现与《Android 音频解封装 Demo》中一样,这里就不再重复介绍了,其接口如下: KFMP4Demuxer.java } 2、音频解码模块 同样的,解码模块 KFByteBufferCodec 的实现与《Android 音频解码 Demo》中一样,这里就不再重复介绍了,其接口如下: KFMediaCodecInterface.java

    78520编辑于 2022-06-13
  • 来自专栏深入理解Android

    Android Gradle源码分析

    一.如何调试Android Gradle源码 最简单的方式如下: 1.配置 gradle.properties 比较方便的做法是配置全局的 gradle.properties,这样对所有 Gradle :gradle:3.5.0' } 这样就引入了源码,想看对应版本的源码,改变相应的引用即可 保持和classpath声明的一致 classpath 'com.android.tools.build: gradle:3.5.0' 5.放断点 在相应的代码行放上断点 6.运行构建,开始调试 在命令行中执行相应的 Task,例如: $ . /gradlew assembleDebug 二.Gralde Plugin源码分析 平时我们使用plugin都是通过apply方法,例如: apply plugin: 'com.android.application ProductFlavor、SigningConfig 三个类型的Container,接着传入到了createExtension方法中,点入查看是个抽象的方法,各自的实现在子类中,这里也就是我们的AppPlugin 中 6.

    1.6K20编辑于 2022-06-23
  • 来自专栏双十二技术哥

    Android LayoutInflater 源码解析

    在上篇文章中我们学习了setContentView的源码,还记得其中的LayoutInflater吗?本篇文章就来学习下LayoutInflater。 resId) { ensureSubDecor(); ViewGroup contentParent = (ViewGroup) mSubDecor.findViewById(android.R.id.content 备注:以下源码中有七条备注。 则说明是系统控件,会在接下来的调用链在name前面加上 'android.view.' } catch (ClassCastException e) { } } 总结: createView 方法也比较简单,通过反射来创建的 View 对象; 6

    1.1K40发布于 2018-08-21
  • 来自专栏我的Android开源之旅

    Android源码分析--Android系统启动

    Android系统启动 其实Android系统的启动最主要的内容无非是init、Zygote、SystemServer这三个进程的启动,他们一起构成的铁三角是Android系统的基础。 init进程的源码在system/core/init/init.cpp`下。 com.android.launcher3.Launcher",点击查看Launcher的AndroidManifest.xml。 启动架构示意图 我们都知道Android系统架构是Linux Kernel、Android Runtime、Liberaries、Application Framework和Application这五个部分组成的 ,如下图所示: 那么Android系统在启动过程中,都经历了哪些架构组成部分呢?

    55420编辑于 2022-04-18
  • 来自专栏程序员开发工具

    Android livedata 源码解剖

    说在前面 本次推出 Android Architecture Components 系列文章,目前写好了四篇,主要是关于 lifecycle,livedata 的使用和源码分析,其余的 Navigation Android lifecycle 使用详解 Android LiveData 使用详解 Android lifecyle 源码解剖 Android livedata 源码解剖 github sample 地址: ArchiteComponentsSample Android 技术人,一位不羁的码农。 题外话 Android Architecture Components 已经写了四篇文章了,其余的 Navigation, Paging library,Room,WorkMannager 等春节结束之后再更新了

    1.3K20发布于 2019-02-26
  • 来自专栏闷骚的程序员

    Android 源码分析开篇

    : The Big Nert Ranch Guide》 《疯狂 Java 讲义》 《疯狂 Android 讲义》 《Android 软件安全与逆向分析》 《深入理解 Java 虚拟机》 《Android 业务相关的知识可以在工作时间来积累,业余的时间里,多 Read The F*cking Source Code,从优秀的源码和设计里汲取营养。 所以,最近计划开始写一系列 Android 源码分析的文章,包括 Android 系统源码及一些优秀的第三方类库等等。 目前的计划是按照我最近一段时间更新公众号的频率,大约十天更新一篇,阅读源码主要使用的工具和方式是: GitHub 上的 android/platform_frameworks_base 等源码配合 Chrome 插件 insight.io 自己电脑上搭建的 OpenGrok 浏览 Android 7.1.2 源码 http://androidxref.com/7.1.1_r6/ 大致思路就是这样,实践一阵试试

    1.1K10发布于 2020-04-16
  • 来自专栏米扑专栏

    Android 源码结构分析

    bsd的源码) |   |-- i386          (i386架构) |   |-- i387          (i387架构?) ) |-- libstdc++         (libstdc++ C++实现库) |   |-- include       (头文件) |   `-- src           (源码 bootable 目录 |-- bootloader            (适合各种bootloader的通用代码) |   `-- legacy                (V6架构 showslab (showslab工具) |   |-- sound   (声音相关) |   |-- su    (su命令源码 源代码简要分析 Android 源码结构分析PDF下载

    2.4K30发布于 2019-02-19
  • 来自专栏程序员开发工具

    Android lifecyle 源码解剖

    说在前面 本次推出 Android Architecture Components 系列文章,目前写好了四篇,主要是关于 lifecycle,livedata 的使用和源码分析,其余的 Navigation <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="android.arch.lifecycle.extensions " > <uses-sdk android:minSdkVersion="14" /> <application> <provider android }.lifecycle-trojan" android:exported="false" android:multiprocess="true" /> 下一篇:Android livedata 源码解剖

    1.2K20发布于 2019-02-26
  • 来自专栏双十二技术哥

    Android setContentView源码解析

    Android开发的同学们对setContentView肯定都不陌生,但凡写到Activity,都离不开这个函数,今天我们就来看看它内部的实现吧! 备注:本文基于Android 8.1.0版本。 1、Activity 与 AppCompatActivity的区别 当我们在老版本Android SDK开发的时候新建的Project的默认继承的是Activity,而在5.0之后默认继承的就是AppCompatActivity * *

    You can add an {@link android.support.v7.app.ActionBar} to your activity when running on API mOriginalWindowCallback.onContentChanged(); } 3、createSubDecor setContentView的第一步就是确保SubDecor被install,下面源码中有注释 windowContentView.setId(View.NO_ID); // 将contentView的id设置为android.R.id.content

    1.2K40发布于 2018-08-21
领券