Achillisjack
码龄12年
求更新 关注
提问 私信
  • 博客:957,992
    社区:46
    958,038
    总访问量
  • 369
    原创
  • 692
    粉丝
  • 13
    关注
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:墨西哥
加入CSDN时间: 2013-10-14
博客简介:

Jack的博客

查看详细资料
个人成就
  • 获得211次点赞
  • 内容获得55次评论
  • 获得1,046次收藏
  • 代码片获得419次分享
  • 博客总排名496,740名
创作历程
  • 53篇
    2018年
  • 294篇
    2017年
  • 22篇
    2016年
成就勋章
TA的专栏
  • ★android英雄帖--华为
  • ★android 系统机制分析
  • ---【binder机制】
    12篇
  • ---【AsyncChannel机制】
    4篇
  • ---【SEandroid安全机制】
    3篇
  • ---【源码解析】
    11篇
  • ★android Phone框架分析
  • ---【短信分析】
    7篇
  • ---【contact分析】
    32篇
  • ---【phone分析】
    23篇
  • ---【数据业务】
    14篇
  • ---【RIL机制分析】
    9篇
  • ---【QMI机制】
    7篇
  • ★android 四大组件/进程/PMS
  • ---【Activity分析】
    1篇
  • ---【Broadcast分析】
    3篇
  • ---【Service分析】
    5篇
  • ---【ContentProvider分析】
    2篇
  • ---【进程分析】
    5篇
  • ---【PackageManagerService】
    4篇
  • ---【ANR分析】
    4篇
  • ★android 开源框架分析
  • ---【热修复】
    4篇
  • ---【DroidPlugin框架分析】
    31篇
  • ---【VirtualAPK框架分析】
    8篇
  • ---【EventBus分析】
    4篇
  • ---【插件化原理】
    13篇
  • ★android 系统框架分析
  • ---【消息处理分析】
    12篇
  • ---【View框架分析】
    13篇
  • ---【蓝牙框架分析】
    14篇
  • ---【sensor框架分析】
    14篇
  • ---【gps框架分析】
    13篇
  • ★android 其他
  • ---【线程与异步分析】
    14篇
  • ---【java基础分析】
    9篇
  • ---【自动化测试】
    18篇
  • ---【adb命令分析】
    15篇
  • ---【实践】
    12篇
  • ---【网络请求分析】
    5篇
  • ---【SharedPreferences 分析】
    2篇
  • ---【LightsService分析】
    6篇
  • ---【android 8.1 surface机制】
    7篇

TA关注的专栏 0

TA关注的收藏夹 0

TA关注的社区 0

TA参与的活动 0

创作活动更多

AI 镜像开发实战征文活动

随着人工智能技术的飞速发展,AI 镜像开发逐渐成为技术领域的热点之一。Stable Diffusion 3.5 FP8 作为强大的文生图模型,为开发者提供了更高效的图像生成解决方案。为了推动 AI 镜像开发技术的交流与创新,我们特此发起本次征文活动,诚邀广大开发者分享在 Stable Diffusion 3.5 FP8 文生图方向的实战经验和创新应用 本次征文活动鼓励开发者围绕 Stable Diffusion 3.5 FP8 文生图方向,分享以下方面的内容: 1. 技术实践与优化 - Stable Diffusion 3.5 FP8 模型架构解析与优化技巧 - 文生图生成效果的提升方法与技巧 - 模型部署与加速策略,例如使用 Hugging Face、Diffusers 等工具 - 针对特定场景(例如二次元、写实风)的模型微调与定制化开发 2. 应用场景探索 - Stable Diffusion 3.5 FP8 在不同领域的应用案例分享,例如游戏设计、广告创意、艺术创作等 - 利用 Stable Diffusion 3.5 FP8 实现图像编辑、图像修复、图像增强等功能的探索 - 结合其他 AI 技术(例如 NLP、语音识别)构建更强大的应用 3. 创新应用与思考 - 基于 Stable Diffusion 3.5 FP8 的创新应用场景设计 - AI 镜像开发的未来发展方向的思考与展望 - 对 AI 镜像开发伦理、安全等问题的探讨

28人参与 去参加
  • 最近
  • 文章
  • 专栏
  • 代码仓
  • 资源
  • 收藏
  • 关注/订阅/互动
更多
  • 最近

  • 文章

  • 专栏

  • 代码仓

  • 资源

  • 收藏

  • 关注/订阅/互动

  • 社区

  • 帖子

  • 问答

  • 课程

  • 视频

搜索 取消

android 蓝牙基本的操作

以下是android5.1的相关操作,蓝牙操作的基础是BluetoothAdapter,在整个系统中,该类仅有一个实例。private BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();判断蓝牙是否可用:Boolean BTis = mBluetoothAdapter.isE
原创
博文更新于 2017.08.26 ·
1198 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

AMS Hook

2,AMS HookAMS 的详细Hook点请看这篇文章, http://blog.csdn.net/u012439416/article/details/70665923Hook AMS只需要简单的Hook ActivityManagerNative的gDefault变量就可以了。该变量定义如下,private static final Singleton gDefault
原创
博文更新于 2017.07.31 ·
506 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

android sensor 框架分析---服务端

前言:相对于其他模块, Sensor的API还是非常简洁的.对Sensor的开发也很简单。Android 6.0 系统支持的传感器多达26种,加速度传感器 (accelerometer)、磁力传感器(magnetic field)、方向传感器(orientation)、陀螺仪(gyroscope)、环境光照传感器(light)、压力传感器(pressure)、温度传感器(tempera
原创
博文更新于 2017.07.06 ·
5138 阅读 ·
0 点赞 ·
0 评论 ·
15 收藏

android 5.1 系统音频的切换

1, 获取各种音量首先获取音频管理类AudioManagerAudioManager mAudioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);获取通话最大/当前音量int max = mAudioManager.getStreamMaxVolume(AudioManager.STR
原创
博文更新于 2017.08.26 ·
4125 阅读 ·
2 点赞 ·
0 评论 ·
3 收藏

gps 简介---之一

1. GNSS    GNSS的全称是全球导航卫星系统(Global NavigationSatellite System),它是泛指所有的卫星导航系统,包括全球的、区域的和增强的,如美国的GPS、俄罗斯的Glonass、欧洲的Galileo、中国的北斗卫星导航系统,以及相关的增强系统,如美国的WAAS(广域增强系统)、欧洲的EGNOS(欧洲静地导航重叠系统)和日本的MSAS(多功
原创
博文更新于 2017.05.20 ·
6796 阅读 ·
6 点赞 ·
1 评论 ·
20 收藏

合并联系人分析 --- 之一

5.2显示查询完成之后, QuerypartRepeartContactsTask 的onPostExecute方法调用流程图如下,onPostExecute方法主要逻辑如下,((MergeallActivity)target).updateAdapterData(result);MergeallActivity的updateAdapterData方法如下,mAda
原创
博文更新于 2018.01.04 ·
1152 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

LightsService分析 --- 问题分析

5 重点问题解析5.1 添加一个自定义的灯前面从Java应用层一直到硬件抽象层的分析,都是Android系统中标准的硬件控制流程,在了解了这个流程后,开发人员就可以根据这个流程来添加制定自己的硬件控制了。下面将分步骤来介绍如何添加一个自定义的灯,以控制一个4G信号强弱的灯led_lte为例。步骤 1 添加逻辑ID值首先需要在LightsManager中添加所要灯的ID号,这个I
原创
博文更新于 2017.11.29 ·
1720 阅读 ·
1 点赞 ·
0 评论 ·
4 收藏

普通短信发送流程

2,普通短信发送流程在此仅分析普通短信的发送流程, SmsManager 的sendTextMessage方法如下,ISms iccISms = getISmsServiceOrThrow();if (iccISms != null) { iccISms.sendTextForSubscriberWithOptions(getSubscriptionId(), Ac
原创
博文更新于 2017.08.09 ·
3281 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

android QMI机制---Qcril初始化流程

3, Qcril初始化流程rild守护进程的rild.c文件中main方法有关加载动态库代码如下,dlHandle = dlopen(rilLibPath, RTLD_NOW);//加载库•••funcs = rilInit(&s_rilEnv, argc, rilArgv);//初始化 实际调用的是RIL_Init方法s_rilEnv结构体定义如下,也就是qcril.c可以
原创
博文更新于 2017.07.03 ·
7139 阅读 ·
2 点赞 ·
0 评论 ·
13 收藏

android binder机制---ProcessState和线程池

3, ProcessState和线程池     Android系统启动完成后,ActivityManager, PackageManager等各大服务都运行在system_server进程,app应用需要使用系统服务都是通过binder来完成进程之间的通信。     对于binder线程是如何管理的呢,又是如何创建的呢?其实无论是system_server进程,还是app进程,都是
原创
博文更新于 2017.06.12 ·
10611 阅读 ·
4 点赞 ·
0 评论 ·
32 收藏

通话记录保存

4.3 通话记录保存在通话到结束的整个过程中,为了保存通话信息,包括通话号码,通话时间等。在通话完全结束后,就会将这些信息插入到通话记录的数据库中。1,插入通话记录在前面通话状态更新一节中,Telecom进程的CallsManager的setCallState方法会调用监听器的onCallStateChanged方法,for (CallsManagerListener listen
原创
博文更新于 2018.01.01 ·
4296 阅读 ·
1 点赞 ·
0 评论 ·
3 收藏

SharedPreferences 分析 --- 之一

概述:SharedPreferences(简称SP)是Android中很常用的数据存储方式,SP采用key-value(键值对)形式, 主要用于轻量级的数据存储, 尤其适合保存应用的配置参数, 但不建议使用SP 来存储大规模的数据, 可能会降低性能.以下分析都是基于android 6.0 SP采用xml文件格式来保存数据, 该文件所在目录位于/data/data//shared_pre
原创
博文更新于 2017.11.05 ·
552 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

content命令分析

1, 概述content主要是和数据库进行交互,对数据库进行增删改查操作。2, content命令命令格式:contenturi 命令列表:命令功能实现方法insert插入ContentProvider. insertdelete删除delet
原创
博文更新于 2017.03.13 ·
3706 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

Listview缓存机制分析(四)

6 RecycleBin解析RecycleBin是AbsListView的内部类, 是ListView能够实现成百上千条数据都不会OOM最重要的一个原因. 主要变量如下,private View[] mActiveViews = new View[0]; // 保存listview中可见的元素(view)private ArrayList[] mScrapViews; // Array
原创
博文更新于 2017.01.15 ·
641 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

SurfaceFlinger处理vsync信号

surfaceflinger创建Connection对象的过程前面已经论述过,在此就不赘述了。Surfaceflinger中接收vsync信号的入口为MessageQueue的cb_eventReceiver方法,调用流程图如下,cb_eventReceiver方法如下,直接调用eventReceiver方法,MessageQueue* queue = reinterpret_cast<Me...
原创
博文更新于 2018.03.28 ·
2268 阅读 ·
4 点赞 ·
1 评论 ·
3 收藏

Looper 监听文件描述符

还是以SurfaceFlinger为例论述。SurfaceFlinger的init方法会调用MessageQueue的setEventThread方法创建Connection对象,并且还会调用Looper的addFd方法将BitTube对象的文件描述符添加到Looper中进行监听,mEventThread = eventThread;mEvents = eventThread->creat...
原创
博文更新于 2018.03.28 ·
1873 阅读 ·
0 点赞 ·
0 评论 ·
3 收藏

EventThread 分析

在SurfaceFlinger的init方法中,构造了2个EventThread类型的线程,mEventThread = new EventThread(vsyncSrc, *this, false);sp<VSyncSource> sfVsyncSrc = new DispSyncSource(&mPrimaryDispSync, sfVsyncPhaseOffse...
原创
博文更新于 2018.03.28 ·
3495 阅读 ·
1 点赞 ·
0 评论 ·
5 收藏

DispSync 分析

在SurfaceFlinger的构造方法中调用了DispSync的init方法对DispSync进行初始化,mPrimaryDispSync.init(hasSyncFramework, dispSyncPresentTimeOffset);调用流程图如下,DispSync的构造方法如下,DispSync::DispSync(const char* name) : mName(name),...
原创
博文更新于 2018.03.28 ·
2452 阅读 ·
2 点赞 ·
1 评论 ·
3 收藏

vsync信号

上个小节说明了HWC模块的加载等操作,并且也说明了HWC模块主要用于产生vsync信号,现在的问题是, vsync信号是如何产生的呢? 又是如何传输到SurfaceFlinger 中,处理的呢?在上面的论述中,HWComposer 的构造方法在加载完FB模块打开设备文件以及加载HWC模块之后,会注册vsync信号,mHwc->registerProcs(mHwc, &mCBConte...
原创
博文更新于 2018.03.28 ·
3198 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

HWComposer 分析

HWComposerVsync信号的产生有两种来源,一种是硬件,也就是显示模块产生;另外一种是软件模拟,因为目前基本都是硬件产生的,所以软件模拟的代码就没有分析的必要了。接下来分析由硬件产生的vsync是怎么传到surfaceflinger的。这个硬件源就是HWComposer,它一方面管理这composer的hal模块,composer模块是厂商定制UI合成的接口,通常不会直接操作HWCompo...
原创
博文更新于 2018.03.28 ·
12294 阅读 ·
2 点赞 ·
0 评论 ·
21 收藏
加载更多