自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

dingyu

一点寒芒先至,随后枪出如龙

  • 博客(20)
  • 资源 (6)
  • 收藏
  • 关注

原创 应用的主线程和binder线程是如何启动的

kernel启动后,init进程会通过init rc配置脚本启动编译为app_process的二进制可执行文件,启动后的进程名为zygote。zygote会启动虚拟机环境,然后fork出system_server进程,进入Java世界。system_server是Android的系统进程,各大服务AMS、PMS、WMS等都运行在这个进程中。1 system_server 进程发送fork请求启动四大组件时,如果应用进程不存在,就会走到AMS创建应用进程的过程,这个进程是从zygote fork出来的

2022-03-25 17:06:55 4140

原创 去掉系统原生模块的一种新方法

1 修改模块的Android.mk文件见过最蠢的方法,更新模块、移植都不方便2 修改PRODUCT_PACKAGES一般的做法,暴力删除build、device下PRODUCT_PACKAGES的对应模块,缺点是分散,很难删干净,移植不方便3 新方法a 定义一个变量PRODUCT_DEL_PACKAGES在build/core/product.mk中b 将需要删除的模块赋值给这个变量PRODUCT_DEL_PACKAGES += Browser2c 在build的makefile文件中处

2022-03-18 17:04:59 636

原创 Android设备安装150个应用后开机耗时分析优化

设备安装150个应用后,开机耗时增加7s,主要是PMS扫描/data/app,耗时6.5s。分析发现,主要耗时在scanPackageNewLI 解析apk文件commitReconciledScanResultLocked 将解析到的组件添加到PMSbacktrace如下:frameworks/base/services/core/java/com/android/server/pm/PackageManagerService.javascanDirTracedLI |-->

2022-03-11 18:03:21 2844

原创 CLion调试Android 11 Native代码

1 下载并编译sources代码需要在自己电脑上编译,生成CMakeLists.txt和符号表。2 CLion配置2.1 导入第一步的代码到CLionAOSP Native代码导入IDE(CLion).2.2 设置远程调试Run -> Edit Configurations点击+号,选择GDB Remote Debug按下图配置,设置GDB路径、端口号、符号目录、路径映射3 Debug运行中的进程3.1 设置端口转发,attach进程pidadb forw

2020-12-16 16:16:00 2624 3

原创 AOSP Native代码导入IDE(CLion)

AOSP可以很容易的导入到Android Studio,可以很舒服的跳转、调试,但是仅限于Java,Native代码连跳转都不行。JB有一款C/C++的IDE CLion,很自然想到能不能导入到CLion呢?1 编译要让 IDE 正确地建立索引,我们需要让 IDE 能正确地知道源文件、头文件、宏定义等各种数据。CLion是基于CMake的,AOSP的Soong可以生成CMakeLists.txt,build目录下有文档build/soong/docs/clion.md// 打开开关,编译时生成C

2020-06-10 10:28:30 3807 1

原创 Android P(9.0) 关闭DEXPREOPT后每次开机都DEXOPT导致开机很久

最近开发Android P(9.0), 关闭WITH_DEXPREOPT(不关闭的话,编译framework或者services生成的jar包不能直接push到机器,影响开发效率,不知到有没有方法解决这个问题)后,发现每次开机都要很久。接下来我们一步一步分析第一步,看Log10:12:30.474 1338 1338 I SystemServer: UpdatePackagesIfNe...

2018-12-07 18:12:06 6956 5

原创 MachineLearning笔记week6 机器学习系统设计

6.1 Evaluating a HypothesisOnce we have done some trouble shooting for errors in our predictions by: - Getting more training examples - Trying smaller sets of features - Trying additional feature...

2018-06-26 18:03:47 464

原创 MachineLearning笔记week5 NeuralNetworkLearning

5.1 Cost FunctionLet’s first define a few variables that we will need to use:L = total number of layers in the networkslsls_l = number of units (not counting bias unit) in layer lllK = number o...

2018-06-21 18:16:15 278

原创 MachineLearning笔记week4 NeuralNetworks

4.1 Model Representation ILet’s examine how we will represent a hypothesis function using neural networks. At a very simple level, neurons are basically computational units that take inputs (dendrit...

2018-06-21 18:08:31 218

原创 MachineLearning笔记week3 Classification

3.1 ClassificationTo attemp classification, one method is to use linear regression and map all redictions greater than 0.5 as 1 and all less than 0.5 as a 0. However, this method doesn’t work well b...

2018-06-15 11:31:30 373

原创 MachineLearning笔记week2 Linear Regression

2.1 Multiple FeaturesLinear regression with multiple variables is also known as “multivariate linear regression”.We now introduce notation for equations where we can have any number of input varia...

2018-06-08 09:23:00 259

原创 MachineLearning笔记week1

1.1 Supervised LearningIn supervised learning, we are given a data set and already know what our correct output should look like, having the idea that there is ralationship between the input and the...

2018-05-11 10:45:50 297

原创 Ubuntu .bashrc个人配置

// Android sdk ndk路径export ANDROID_HOME="~/bin/android/sdk/"export ANDROID_SDK_ROOT=$ANDROID_HOMEexport NDK_ROOT=$ANDROID_HOME/ndk-bundleexport PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platfor...

2018-02-24 11:33:38 4104

原创 节电助手

为了延长电池的续航时间,节电助手会降低设备的性能,并限制振动、位置信息服务和大部分后台流量。对于电子邮件、聊天工具等依赖于同步功能的应用,可能要打开这类应用时才能收到新信息。 节电助手会在设备充电时自动关闭。Created with Raphaël 2.1.0设置节电模式的调用过程PowerManagerPowerManagerIPowerManagerIPowerManagerPowerMana

2016-09-06 15:52:33 823

原创 Android Studio修改应用包名

修改app/build.gradle的ApplicationId就可以了。 http://tools.android.com/tech-docs/new-build-system/applicationid-vs-packagename

2016-05-10 11:46:41 341

原创 android 源码编译导入library project

修改launcher,需要依赖一个library project:password,无法直接在源码中编译。google出来的结果没有合适的方法,最后在源码packageses/apps/Email中找到了答案。需要修改2个文件:launcher的Android.mk、password的Android.mkmakefile文件目录为:launcher/password/Android.mklaunc

2015-05-22 19:07:44 1132

原创 git删除提交

git删除提交1、从资料库中清除文件git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch projects/Moon.mp3' --prune-empty --tag-name-filter cat -- --all2、 推送我们修改后的repogit push origin master

2015-05-21 23:31:56 450

原创 可以听清A short history of nearly everything了

每个音节,非常清晰,很多单词

2014-11-24 20:39:41 439

转载 【转自果壳】学习没有“关键期”,现在开始就不晚

成年人大脑的可塑性,远远超过我们过去的认识。如果掌握了正确的方法,你也能像儿童一样学习。如果你已经36岁,你很可能喜欢收集上好的葡萄酒、唱片或者体育比赛纪念品。但对于理查德•西姆考特(Richard Simcott)来说,他的收藏品是语言。到目前为止,他已经学会了30多种外语,而且他还不打算就此收手。我们在伦敦一家饭馆里吃饭的时候,他在葡萄牙语、土耳其语和冰岛语之间跳来跳去,说起来

2013-06-14 12:54:13 801

转载 代码里的命名规则:错误的和正确的对比

编程初学者总是把大量的时间用在学习编程语言,语法,技巧和编程工具的使用上。他们认为,如果掌握了这些技术技巧,他们就能成为不错的程序员。然而,计算机编程的目的并不是关于精通这些技术、工具的,它是关于针对特定领域里的特定问题创造出相应的解决方案,程序员通过相互合作来实现这些。所以,很重要的一点,你需要能精确的用代码表达出你的思想,让其他人通过代码能明白你的意图。让我们先看看编程大师Ro

2013-06-09 08:28:23 435

010Editor-10.0.1-win32.zip

010Editor 10.0.1 windows 32位

2021-07-26

Non-Programmer's_Tutorial_for_Python_3.pdf

适合非程序员的Python入门教程 So, you've never programmed before. As we go through this tutorial, I will attempt to teach you how to program. There really is only one way to learn to program. You must read code and write code (as computer programs are often called). I'm going to show you lots of code. You should type in code that I show you to see what happens. Play around with it and make changes. The worst that can happen is that it won't work.

2020-04-02

Tiled-1.7.1-win64.msi

游戏地图编辑器,在电脑游戏制作中,用来绘制一组规则的矩形图像。 2021.7 更新最新版 Tiled installer for Windows (64-bit) 27 MB 版本1.7.1

2013-04-27

汇编_《汇编语言(ASM)从入门到精通》超浓缩教程

1.破解文章 算法研究 2.汇编语言 注册机 3.简明x86汇编语言教程 4.ASM源程序

2010-12-27

在虚拟机virtual box下安装DOS 6.22

1、软件准备 虚拟机软件 WinISO ---- 用于制作光盘镜像 WinImage ---- 用于制作软盘镜像 DOS6.22启动盘

2010-12-27

程序设计:Delphi之未经证实的葵花宝典version2.7.chm

版本 1.0 共有500多条编程技巧 版本1.5 更新: 增加了300多条编程技巧,删除了一些过时的技巧,更正了一些错误,把一些英文翻译为中文。 版本1.8 增加了150多条编程技巧,改正了上一版的页面乱码问题,对分类进行进一步调整。 版本2.1 增加了160多条新的技巧,其中包括了很多带图的篇幅很长的文章,所以这一版虽然内容增加的虽然不是最多,但是整个CHM文件大小还是翻了一翻到了4M以上。另外要注意的是更新过的技巧图标为带红色星号的图标,但不是所有的更新过的文件都更改了图标,阅读时注意辨别。 开设了新的栏目就是特邀专栏,本次增加了liguang的专栏。另外千中元答应在下一版中加入他的专栏。 版本2.5 增加了200多条新的技巧,全部更新的技巧都用带星号的图标显示。支持高级搜索。 版本2.7 本版本只是一个预览版,增加了一些新的技巧,还有很多没有整理(包括manusoft、千中元的专栏没有添加,将在3.0更新),版本中还存在有一些bug(如一些图片没有正确添加),另外我想当个人编程水平达到一定程度后,技巧已经不再是一个非常重要的问题了。所以未来只会少量添加非常好及系统的技巧,主要重点将放在整理系统设计,设计模式,OOP及泛型编程思想方面的知识。

2009-12-28

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除