- 博客(295)
- 资源 (14)
- 收藏
- 关注
转载 Android 系统(246)---SystemServer进程的启动流程
Android进程系列第四篇---SystemServer进程的启动流程 一、内容预览内容预览.png二、概述前面进程系列已经更新了三篇,本文(基于Android O源码),第三篇中System进程已经创建好了,本篇主要讲解SystemServer进程启动做了哪些事情,SystemServer中运行的服务有八十多种,包括ActivityManagerService(AMS)...
2018-07-31 16:38:32 556
转载 Android系统(245)---SystemServer进程的创建流程
Android进程系列第三篇---SystemServer进程的创建流程 一、内容预览SystemServer进程的启动.png二、概述前面进程系列已经更新了两篇,本文(基于Android O源码)主要讲解SystemServer进程创建流程上半部分,下半部梳理一下SytemServer进程创建之后的启动阶段以及运行的核心服务。Android进程系列第一篇---进程基础An...
2018-07-31 16:36:55 441
转载 Android系统(244)---Zygote进程的启动流程
Android进程系列第二篇---Zygote进程的启动流程 内容预览.png概述:本文(基于Android O源码)主要讲解Zygote进程创建流程,线程容易创建,但进程的相关的东西都被系统很好的封装了,以至于进程的创建,很多人还是头一回。首先一张图来看看Zygote进程在系统中的地位。Zygote的地位.pngZygote进程又称受精卵进程,它由app_proc...
2018-07-31 16:35:34 1319
转载 Android 系统(243)---Android进程系列第一篇---进程基础
Android进程系列第一篇---进程基础 内容预览.png概述:本文主要讲解进程基础,更深入的认识有血有肉的进程,内容涉及进程控制块,信号,进程FD泄露等等。仅供参考,欢迎指正。一、从Linux看进程到底是什么?“进程四要素” —《Linux 内核源代码情景分析》描述如下:有一段程序供其执行 拥有专用的系统堆栈空间 在内核存在对应进程控制块 拥有独立的用户存...
2018-07-31 16:33:03 1996
转载 Redis集群的原理和搭建
Redis集群的原理和搭建 前言Redis 是我们目前大规模使用的缓存中间件,由于它强大高效而又便捷的功能,得到了广泛的使用。单节点的Redis已经就达到了很高的性能,为了提高可用性我们可以使用Redis集群。本文参考了Rdis的官方文档和使用Redis官方提供的Redis Cluster工具搭建Rdis集群。 注意 :Redis的版本要在3.0以上,截止今天,Redis的版本...
2018-07-31 11:40:47 343
转载 JVM难学?那是因为你没认真看完这篇文章
JVM难学?那是因为你没认真看完这篇文章 一:虚拟机内存图解JAVA程序运行与虚拟机之上,运行时需要内存空间。虚拟机执行JAVA程序的过程中会把它管理的内存划分为不同的数据区域方便管理。虚拟机管理内存数据区域划分如下图: 数据区域分类:方法区: (Method Area)虚拟机栈 : (VM Stack)本地方法栈 : ...
2018-07-31 11:08:05 235
转载 架构设计:负载均衡层设计方案之负载均衡技术总结篇
架构设计:负载均衡层设计方案之负载均衡技术总结篇 1、概述通过前面文章的介绍,并不能覆盖负载均衡层的所有技术,但是可以作为一个引子,告诉各位读者一个学习和使用负载均衡技术的思路。虽然后面我们将转向“业务层”和“业务通信”层的介绍,但是对负载均衡层的介绍也不会停止。在后续的时间我们将穿插进行负载均衡层的新文章的发布,包括Nginx技术的再介绍、HaProxy、LVS新的使用场景等等。...
2018-07-31 10:43:59 1480
转载 Android 系统(242)---Android init.rc执行顺序
Android init.rc执行顺序 1. 所有的action运行于service之前2. 下面为各个section的执行顺序,英文编号的section是系统内建的(写死在init.c中的命令)1) early-init a) wait_for_coldboot_done b) property_init c) keychord_int ...
2018-07-31 10:33:29 336
转载 Allegro 导入ASC file的步骤
Allegro 导入ASC file的步骤 lAllegro15.5导入ASC file的步骤 Ø PCB文件转换前准备: 1.Pads转出的ASC文件选择Power PCB V4.0(兼容性最好),目前我司提供 2.把产生V4.0 ASC文件存放在指定文件夹,要求路径不可太深,且不能有中文字出现; Ø 导入前Allegro15.5需进行三...
2018-07-31 08:59:41 11627
转载 10张图,让你瞬间给自己减压
10张图,让你瞬间给自己减压人生就像骑自行车,找准方向才能改变自己,摆正心态,才能稳扎稳打,用力向前蹬才能进步,你现在的努力,正在创造美好的未来,一分耕耘 ,一分收获! 在你前进的路上,也许会有人会讥讽你:读书有什么用?这幅图告诉你,读书和不读书的人,过得是不同的人生。你读的书就是你进阶的阶梯,你偷的懒就是你沉沦的泥潭。你的路必须自己走,任何依靠他人,弄虚作假的行为,...
2018-07-31 08:54:50 391
转载 Android camera (12)---camera ap在特殊的应用场景下额外使用一套独立的camera tuning参数
camera ap在特殊的应用场景下额外使用一套独立的camera tuning参数解决方案:1, nvram_drv.h core\featureio\drv\inc 中添加下面的interfacevirtual void setCustomIndex(int idx=0) = 0;virtual int getCustomIndex() = 0;2, 在nvram_drv.cpp...
2018-07-30 12:51:35 1227
转载 如何科学合理地竞品分析(视觉篇)
如何科学合理地竞品分析(视觉篇) 竞品分析的目的 战略层 目标:了解市场情况和商业目标,分析产品的定位,明确自身的优势,以及与其他同类产品差异化的竞争点。在这个层面上,身为视觉设计师,建议在做这部分的内容分析时,多和产品经理沟通,了解他们如何定位竞品。结合观察和平时的使用体验,来得出属于自己的结论。 用户层 目标:了解用户是谁,为什么使用产品...
2018-07-30 12:47:57 2658
转载 Android 系统(241)---IPv4 or IPv6 优先
IPv4 or IPv6 Prefer 如果apn的protocol设置为IPv4/IPv6的话,那么使用DNS解析某地址时,可能会同时返回IPv4和IPv6的地址。但是某些服务端并未作好对IPv6地址的访问服务,导致无法访问IPv6地址的情况。 当IPv6访问超时时,才会去使用IPv4的地址尝试,这就可能导致访问某些网页或者应用联网卡顿的问题 838 2...
2018-07-30 10:53:48 6598 1
转载 Android 系统(240)---底层如何简易的获取一个从AP传下来的parameter(flag)
底层如何简易的获取一个从AP传下来的parameter(flag) 1、在MW定义你要的parameter以及metadata e.g. A: /vendor/mediatek/proprietary/hardware/mtkcam/include/mtkcam/utils/fwk/MtkCameraParameters.h static const char KEY_STE...
2018-07-30 10:22:20 427
转载 你只管善良,上天会负责考量
你只管善良,上天会负责考量 ..............................................................................................................................01.....................................................
2018-07-30 10:14:36 604
转载 Android 系统(239)---Android PMS的创建过程
Android PMS的创建过程------转自 刘望舒 刘望舒 前言PMS的创建过程分为两个部分进行讲解,分别是SyetemServer处理部分和PMS构造方法。其中SyetemServer处理部分和AMS和WMS的创建过程是类似的,可以将它们进行对比,这样可以更好的理解和记忆这一知识点。1. SyetemServer处理部分PMS是在SyetemServer进程中被创建...
2018-07-30 09:30:28 962
原创 手机MODEM 开发(32)--VOLTE 信令
1、volte主叫流程VOLTE主叫信令解析: 对关键流程解释: INVITE 主叫发INVITE消息,触发主叫RRC建立过程,INVITE消息中包含被叫方的号码,主叫方支持的媒体类型和编码等。 Service Request RRC Connection Request RRC Connection Setup RRC Connection Setup Com...
2018-07-30 09:25:21 1895
转载 Android 安全(1)---概述
安全Android 采用了业界领先的安全功能,并与开发者和设备实现人员密切合作,以确保 Android 平台和生态系统的安全。要打造一个由基于 Android 平台以及围绕 Android 平台开发且由云服务提供支持的应用和设备组成的强大生态系统,稳定可靠的安全模型至关重要。为此,在整个开发生命周期内,Android 都遵循了严格的安全计划。Android 是一款开放的系统。Android...
2018-07-29 11:23:47 391
转载 Android 系统(238)---查看日志
阅读错误报告无论是任何类型的开发工作,出错都在所难免,而错误报告对于找出和解决问题至关重要。Android 的所有版本都支持通过 Android 调试桥 (adb) 获取错误报告;Android 4.2 及更高版本提供了一个开发者选项,供用户获取错误报告以及通过电子邮件、云端硬盘等分享报告。Android 错误报告中包含文本 (.txt) 格式的 dumpsys、dumpstate 和 l...
2018-07-29 11:13:29 7180
转载 Android系统(237)---OTA升级基本信息介绍
OTA升级基本信息介绍 Common types of OTA upgrade include GOTA(Google OTA),MOTA(MTK OTA), Adups Fota(广升FOTA), Redbend FOTA and customer-developed FOTA Developer Cost ...
2018-07-29 11:04:23 4200
转载 Android 系统(236)---了解 64 位版本
了解 64 位版本概览从编译系统的角度来看,最显著的变化是现在支持在同一次编译中为两种目标 CPU 架构(64 位和 32 位)编译二进制文件。这也称为“多库编译”。对于本机静态库和共享库,编译系统设置了为两种架构编译二进制文件的规则。产品配置 (PRODUCT_PACKAGES) 与依赖关系图共同决定了编译哪些二进制文件并安装到系统映像中。对于可执行文件和应用,编译系统默认仅编译...
2018-07-29 11:03:43 2769
转载 Android 系统(235)---添加设备
添加新设备您可以参考本页中的信息为自己的设备和产品创建 Makefile。请注意,与本部分中的其他页面不同,本页中的内容仅适合在创建全新的设备类型时参考,而且仅适合公司编译和产品团队参考。了解编译层编译层次结构包括与设备的物理结构对应的抽象层。下表中介绍了这些层。每个层都与上一层存在一对多的关系。例如,一个架构可以有多个板,一个板可以有多个产品。您可以将指定层中的某个元素定义为同一层中...
2018-07-29 10:55:02 670
转载 git(17)---repo的基本认识
repo的基本认识 1、定义。 Repo是谷歌用Python脚本写的调用git的一个脚本。主要是用来下载、多个Git仓库。 而Android项目那是由多个git仓库组成的,它有非常多的分支。 如:android/framework/base它就是一个git仓库。 android/packages/apps/Camera(app...
2018-07-29 10:38:35 673
转载 Android 系统(234)---Android 代号、标签和版本号
代号、标签和版本号Android 的开发是围绕着版本系列进行的,这些版本使用美味的点心名称(按字母顺序)作为代号。平台代号、版本、API 级别和 NDK 版本为方便起见,代号与以下版本号、API 级别和 NDK 版本相对应:代号 版本 API 级别 Oreo 8.1.0 API 级别 27 Oreo 8.0.0 API 级别 26 N...
2018-07-29 09:39:17 1855
转载 Android 系统(233)---AOSP 代码管理
代码流水线、分支和版本Android 开源项目 (AOSP) 维护着一个全面的软件堆栈,OEM 和其他设备实现者可移植并在自己的硬件上运行该堆栈。为了维持 Android 项目的质量,Google 分派了全职工程师、产品经理、界面设计师、质量保证测试人员以及更多相关人员(将新型设备推向市场所需的所有其他角色)来负责相关工作。相应地,我们还维护着多个代码流水线,以便明确区分当前稳定版 And...
2018-07-29 09:30:29 806
原创 手机MODEM 开发(31)--- VoLTE基本流程和信令解析
四 VoLTE基本流程和信令解析 4.1 VoLTE呼叫业务流程上述A和B均是IDLE模式,互相进行拨打的方式是实际应用场景中最常见的一种方式了,具体流程如下。 1.用户A和B在注册成功后,无业务触发,MME发起上下文释放,将A和B均置为IDLE模式。 2. UE A呼叫UE B,此时A发现其为IDLE模式,则需要先建立信令连接。首先缓存需要发送的数据,向e...
2018-07-29 09:14:08 9764 4
原创 手机MODEM 开发(30)--- VoLTE无线功能
三 VoLTE无线功能 3.1 VoLTE无线设备技术要求概览部署VoLTE,除了要求无线侧eNB支持相关基本功能外,还可根据实际需求,进一步考虑引入增强功能,以优化方案性能,提升网络整体质量,改善用户业务体验3.2 VoLTE无线增强功能 - IP包头压缩(RoHC)效果 压缩后,头开销降为4~6 byte(开销占比降为12.5%~18.8%) 典型的Vo...
2018-07-29 09:13:54 1631
转载 Android 系统(232)---减小 OTA 大小
减小 OTA 大小本页介绍了为减少多次编译之间不必要的文件变更而对 AOSP 编译系统所做的改动。使用专有编译系统的设备实现人员可根据这项信息采取措施,减小无线下载 (OTA) 更新的大小。有时,Android OTA 包含的变更文件并非源于代码变更,而是编译系统造成的。在不同时间、不同目录或不同机器上编译相同的代码时可能会发生上述情况,产生大量变更文件。这些多余的文件不仅会增加 OTA ...
2018-07-28 17:12:32 741
转载 Android 系统(231)--OTA对要发布的编译版本进行签名
对要发布的编译版本进行签名Android OS 映像在两个地方使用加密签名:映像中的所有 .apk 文件都必须经过签名。Android 软件包管理器通过下列两种方式使用 .apk 签名: 更换应用时,必须使用与旧应用相同的密钥对其签名,才能存取旧应用的数据。无论是通过覆盖 .apk 来更新用户应用,还是使用安装在 /data 下的新版本应用来覆盖系统应用,这一点都适用。 如果两个或多...
2018-07-28 17:09:44 1930 1
转载 Android 系统(230)---OTA 软件包工具
OTA 软件包工具build/tools/releasetools 中提供的 ota_from_target_files 工具可以构建两种类型的软件包:完整更新软件包和增量更新软件包。该工具将 Android 构建系统生成的 target_files .zip 文件作为输入文件。完整更新完整更新是指软件包将对设备的整个最终状态(系统分区、启动分区和恢复分区)进行更新。只要设备能够接收软...
2018-07-28 16:00:25 452
转载 Android 系统(229)---OTA
OTA 更新正常使用的 Android 设备可以接收和安装系统和应用软件的无线 (OTA) 更新。本部分介绍了更新包的结构以及构建更新包时所用的工具。它适用于希望将 OTA 更新系统用于新的 Android 设备以及正在编译更新软件包以用于已发布设备的开发者。OTA 更新旨在升级基础操作系统和系统分区上安装的只读应用;这些更新不会影响用户从 Google Play 安装的应用。A/B(无缝...
2018-07-28 15:57:51 303
转载 一生都学不完的计谋(经典)
一生都学不完的计谋(经典) 1、看穿但不说穿。很多事情,只要自己心里有数就好了,没必要说出来。2、高兴,就笑,让大家都知道。悲伤,就假装什么也没发生。3、在不违背原则的情况下 ,对别人要宽容 ,能帮就帮, 千万不要把人逼绝了 ,给人留条后路。4、快乐最重要,谁人、何物、何事使你快乐,你就同他们在一起。何物让你不快乐,你就离开他。没有条件,创造条件也要离开他。5、不要老...
2018-07-28 10:18:17 384
转载 手机modem开发(28)---开发电信VoLTE开关默认值设置
电信VoLTE开关默认值设置 [Important Notice]CT VoLTE配置文档名称为《Operator_Specific_Document_CT入库版本准备.docx》,如贵司没有請到DCC系统进行索取,路径为 WCP>SW>C2K>Smart Phone>Document Library New>CT Official Test>C库。 如...
2018-07-28 09:49:39 2633
转载 Android 驱动(17)---如何在linux中添加新的kernel module
如何在linux中添加新的kernel module该SOP针对客户如何添加一个kernel module,并把生成的.ko打包进system.img的过程。解决方案L版本(version>=5.0)支持编译为内核moudle(.ko文件)的config选项默认是关闭的。因此,如在L版本上编译.ko文件,需先在项目defconfig文件中打开内核配置选项CONFIG_MODU...
2018-07-28 09:47:00 1993 1
转载 Android 驱动(16)---AOSP如何单独build kernel
AOSP如何单独build kernel解决方案如果只是修改kernel 中单一模块,如何快速build kernel模块? ARCH : 指的是所编译的类型 (arm 、arm64 或者x86)project:指的是所要编译的Project name 1,build 对应的模块cd kernel-3.10mkdir outmake ARCH=arm64 O=...
2018-07-28 09:27:58 3240
原创 Android 驱动(15)---如何修改USB驱动能力
如何修改USB驱动能力 修改或查看USB驱动能力有三种方法: 1、工模菜单 通过"*#*#3646633#*#*"进入工程模式,通过如下菜单可以查看修改USB驱动能力: hardware testing-->USB-->USB PHY TUning-->USB_DRIVING_CAPABILITY; 2、USB节点 有ROOT权限im...
2018-07-28 09:27:04 2335
原创 手机MODEM 开发(29)--- VoLTE协议
二 VoLTE协议栈 从无线角度来看:VoLTE需要建立的承载要实现语音或视频业务需要UE同时建立三个数据承载外,还需要UE建立RRC链接信令承载:SRB1和SRB2。 VoLTE用户注册: VoLTE用户在体验高质量通话之前,必须先进行VoLTE的注册流程,从无线角度来看,注册分为两个步骤: (1)LTE无线的无线注册: 由于VoLTE实质上对于无线来...
2018-07-27 14:23:15 2441
原创 手机MODEM 开发(28)--- VoLTE介绍
VoLTE介绍1.1 LTE语音解决方案演进SvLTE(Simultaneous Voice and LTE), 即双待手机方式。手机同时工作在LTE和CS,前者提供数据业务,后者提供语音业务。是纯粹基于手机的方案。对网络无特别要求,不需要部署IMS,缺点是手机成本高、耗电高。目前已经有CDMA1x和LTE的双待手机,被一些CDMA运营商采用作为IMS部署前的过渡方案,而GSM...
2018-07-27 14:21:29 2424
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人