自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(121)
  • 资源 (2)
  • 收藏
  • 关注

原创 MTK user+root版本配置方式

1,system/core/adb/daemon/main.cpp--- a/system/core/adb/daemon/main.cpp+++ b/system/core/adb/daemon/main.cpp@@ -72,38 +72,8 @@ static bool should_drop_capabilities_bounding_set() { } static bool should_drop_privileges() {- // "adb root" not all

2021-02-07 18:08:12 19

原创 Android App Standby讲解

一,App Standby介绍App Standby是一种电池管理技术,根据应用最近使用时间和使用频率,来进行对应用使用jobs,alarm,network的优化,达到省电的目的从这个表上,就可以看出根据应用的使用情况分了5个群组ACTIVE如果用户当前正在使用应用,应用将被归到“活跃”群组中,例如:应用已启动一个 Activity 应用正在运行前台服务 应用的同步适配器与某个前台应用使用的 content provider 关联 用户在应用中点击了某个通知如果应用处于“活跃

2021-01-27 17:45:48 1018 4

原创 Android 省电管理开发(二)framework层如何预制xml文件到system/etc

一,frameworks\base\data\etc下添加新的xml文件二,frameworks\base\data\etc下配置属性prebuilt_etc { name: "appPowerSaveConfig.xml", src: "appPowerSaveConfig.xml",}三,build\make\target\product\base_system.mk下配置 appPowerSaveConfig.xml \...

2020-09-27 17:04:59 62

原创 Android 省电管理开发(一)APP状态监听

一,首先介绍下APP状态监听的两个入口:1.UsageStatsService收集,汇总和保留应用程序使用情况数据的服务。2.IUidObserver 监听进程状态变化我们做的App状态监听都是基于这连个入口展开二,框架搭建AppState.javaAPP状态的对象类,每个APP都作为一个单独的对象处理AppStateInfoCollector.java APP状态管理类PowerController.java 省电管理统筹管理类Util.java 工具类三,Us..

2020-09-18 15:34:56 222

原创 Android 判断app是否正在播放音乐

首先播放音乐的时候,执行下adb命令:adb shell dumpsys power|grep -i wake以播放网易云音乐为例:C:\Users\Administrator>adb shell dumpsys power| findstr -i wake no_cached_wake_locks=true mWakefulness=Awake mWakef...

2020-03-19 19:28:50 1544

原创 Android 原生省电模式

点击SystuemUI的下拉栏的省电模式按钮,首先调用的是BatteryControllerImpl.java的setPowerSaveMode() @Override public void setPowerSaveMode(boolean powerSave) { BatterySaverUtils.setPowerSaveMode(mContext, po...

2020-03-13 13:55:43 576

原创 Android APK调用系统隐藏api

APK调用隐藏api已调用SerialService为例1,修改frameworks\base\core\java\android\hardware\SerialManager.java添加如下代码:public static SerialManager getInstance(Context context){mSerialManager = ...

2020-02-17 16:04:28 313

原创 MySql学习(一)数据库的CRUD操作

数据库的CRUD操作首先登陆数据库服务器:mysql -u(账号) -p(密码) (mysql -uroot -pmysql)退出数据库服务器:exit创建数据库:create database 数据库名称;创建数据库时,指定字符集:create database 数据库名称 character set utf8;create datab...

2020-01-01 11:31:57 101

原创 Android MTK 添加开关机动画

1,vender下添加开关机的压缩包vender下创建文件夹 res,添加文件,并创建一个install.mk(mk文件名称可以随意起)install.mk按如下编译LOCAL_PATH := $(my-dir)MY_PATH := vendor/resSYSTEM_OUTDIR=out/target/product/k61v1_64_bsp/systemMEDI...

2019-11-12 18:15:19 398

原创 Android 预制输入法

以预制搜狗输入法为例:1.packages/apps/下添加SogouInput文件夹添加apk和Android.mk # SogouInput LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := SogouInput LOCAL_MODULE_CLASS :...

2019-11-08 14:02:38 206

原创 Android FM流程分析

一,FM主要类介绍FmMainActivity.java 主界面FmService.java 核心FmNative.java 调用JNI和底层通信二,FM主要功能介绍1,收音播放: 1 ) 搜台 2)收藏 3)耳机/外放播放 4) 切台 5)定时关闭 6)飞行模式2,录音播放三,流程分析1,不插入耳机...

2019-10-29 15:18:32 422 1

原创 Android 卡顿原因

要理解卡顿原因,需要先了解16ms原则https://www.cnblogs.com/upwgh/p/10897576.html一.16ms原则由于人眼的特殊构造,对于60fps以下的帧率画面,会给人一种卡顿的现象,所以就出现了16ms原则(1000ms/60fps = 16ms),即要保证页面16ms刷新一次。Android系统每隔16ms发出vsync信号,触发对UI进行渲染,...

2019-10-25 18:08:47 142

原创 Android Frameworks 关机流程

关机流程我们从按power键-到dialog弹出,再到ShutdownThread,一步一步来讲一.按power键大家都知道长按power键会弹出关机重启提示框,而按键的捕获都是在PhoneWindowManager.java中PhoneWindowManager.java-->interceptPowerKeyDown()private void interceptPow...

2019-03-30 16:04:45 360

原创 Android 8.1 Doze模式分析(五)Doze对Alarm的限制

在DeviceIdleController.java-->onBootPhase()会将白名单设置给AlarmManagerpublic void onBootPhase(int phase) { ...... mLocalAlarmManager.setDeviceIdleUserWhitelist(mPowerSaveWhitelistUserAppIdArray)...

2019-01-22 18:22:52 677

原创 Android 8.1 Doze模式分析(三)Light Doze模式流程分析

在第一篇Android 8.1 Doze模式分析(一)我们知道,如果设备处于未充电且屏幕关闭状态,就会进入Light Doze模式,在LightDoze模式中,会定期进行维护,这种维护会持续N分钟,在维护状态(maintenance)时,会进行网络的访问,和同步、JobScheduler的操作,然后又会进入Idle状态,持续多次。之后如果设备仍旧保持静止,则会进入Deep Doze模式,因此,如果...

2019-01-22 11:38:11 1081

原创 Android 8.1 Doze模式分析(三)释放WakeLock

在第一篇Android 8.1 Doze模式分析(一)我们知道,进入深度doze模式后调用PowerManagerService.java的setDeviceIdleMode()释放WakeLock,现在我们就开始分析释放WakeLock的流程PowerManagerService.java-->setDeviceIdleMode() @Override ...

2019-01-21 16:37:51 630

原创 Android 8.1 Doze模式分析(二)对网络的限制

在第一篇Android 8.1 Doze模式分析(一)我们知道,进入idle模式后调用NetworkPolicyManagerService.java的setDeviceIdleMode()对网络进行限制,现在我们就开始分析网络限制的流程 @Override public void setDeviceIdleMode(boolean enabled) { mCo...

2019-01-21 16:11:05 1606 2

原创 Android Sprd省电管理(六)app 待机休眠优化

待机休眠优化,会减少应用阻止系统睡眠的时间,从而降低待机功耗。针对的是应用 wakelock持锁的一项的优化,会限制应用最长持锁时间。在Android Sprd省电管理(五)app 待机网络管理讲到当进入idle模式以后,会调用PowerController.java的notifyChanged()方法 private void notifyChanged() { ...

2019-01-17 16:28:23 767

原创 Android Sprd省电管理(五)app 待机网络管理

待机数据联网,会控制应用后台数据访问的频率,从而降低待机功耗。针对的是应用后台频繁访问网络的优化。待机网络功耗优化,首先需要将捕捉app的状态在framework中有这样一个binder IUidObserveroneway interface IUidObserver { /** * General report of a state change of an u...

2019-01-16 10:36:19 644

原创 Android AMS(七) Activity与WMS的连接过程

概括我们从两方面来看Activity组件与WindowManagerService服务之间的连接。一方面是从Activity组件到WindowManagerService服务的连接,另一方面是从WindowManagerService服务到Activity组件的连接。从Activity组件到WindowManagerService服务的连接是以Activity组件所在的应用程序进程为单位来进行...

2019-01-14 10:59:56 611

原创 Android AMS(六) Activity与WMS的连接过程之AppWindowToken

概述Activity组件在WindowManagerService服务和ActivityManagerService服务之间的连接是通过一个AppWindowToken对象来描述的每一个Activity组件在启动的时候,ActivityManagerService服务都会内部为该Activity组件创建一个ActivityRecord对象,并且会以这个ActivityRecord对象所...

2019-01-11 17:02:50 2152 1

原创 Android AMS(五) Activity的视图对象(View)的创建过程分析

从Android AMS(四) Activity的窗口对象(Window)的创建过程分析知道,每一个Activity组件都有一个关联的Window对象,用来描述一个应用程序窗口。每一个应用程序窗口内部又包含有一个View对象,用来描述应用程序窗口的视图。应用程序窗口视图是真正用来实现UI内容和布局的,也就是说,每一个Activity组件的UI内容和布局都是通过与其所关联的一个Window对象的内部...

2019-01-10 17:19:34 233

原创 Android AMS(四) Activity的窗口对象(Window)的创建过程分析

在Android AMS(二) App启动过程之onCreate中讲到,在activity到onCreate状态前,会调用Activity.java-->attach()方法 final void attach(Context context, ActivityThread aThread, Instrumentation instr, IBinder t...

2019-01-10 10:58:00 488 1

原创 Android AMS(三) App启动过程之onResume

在Android AMS(二) App启动过程之onCreate中我们讲了onCreate的调用流程,这篇我们接着分析onResume的流程ActivityThread.java-->handleLaunchActivity()中调用performLaunchActivity()走到activity的onCreate,onStart状态后,会调用handleResumeActivity(...

2019-01-09 09:54:47 640

原创 Android AMS(二) App启动过程之onCreate

在Android AMS(一) App启动过程之Task,进程创建流程中我们讲到了Process.start,在这里会通过zygote启动进程,通过反射调用ActivityThread的main函数 public static void main(String[] args) { Trace.traceBegin(Trace.TRACE_TAG_ACTIVITY_MAN...

2019-01-08 16:34:51 488

原创 Android WMS分析(一) WindowManager

1.WindowManager ,WMS,Window三者关系WindowManager是一个接口类,继承自接口ViewManager,负责管理Window,他的实现类是WindowManagerImpl。如果我们相对Window进行添加,更新,删除,就需要通过WindowManager,其会将具体的工作交给WindowManagerService(WMS)处理而Window是一个抽象类,...

2018-12-28 17:51:47 548

原创 Android 8.1 App Standby

App Standby黑白名单配置流程如图所示,可选择优化和不优化代码路径:packages\apps\Settings\src\com\android\settings\fuelgauge\HightPowerDetail @Override public void onClick(DialogInterface dialog, int which) { ...

2018-12-28 11:48:51 499

原创 Android 8.1 Doze模式分析(一)

 概述Doze模式可以简单概括为:若判断用户在连续的一段时间内没有使用手机,就延缓终端中APP后台的CPU和网络活动,以达到减少电量消耗的目的。Doze模式(低电耗模式),是Andoriod6.0增加的一项系统服务,主要目的是为了优化电池性能,增加电池续航时间,Doze模式又分两种模式:深度Doze模式(Deep Doze)和轻度Doze模式(Light Doze),如果用户长时...

2018-12-27 17:56:37 3687 1

原创 Android Sprd省电管理(四)自启动和关联启动管理

自启动和管理启动管理介绍自启动管理用于管理应用的开机自启动/后台自启动/关联自启动。应用自启动的管理,以包名(应用名)进行限制,不区分 user(用户)。(1)自启动指开机自启动和后台自启动。应用可以监听系统的一些开机广播,从而在系统开机后自动进行启动。同时应用也可以监听系统的任何广播,如网络连接的广播,从而在网络连接上的时候,进行自启动。(2)关联启动关联启动指不同的应用之间进...

2018-12-26 19:48:27 1237

原创 Android Sprd省电管理(三)锁屏清理

我们接着上篇 Android Sprd省电管理(二)应用省电模式设置流程,讲下锁屏清理的原理锁屏清理简介:锁屏清理目的是减少待机应用从而来减少待机功耗。锁屏清理是在待机一段时间后才开始进行。该时间值大于 1min。出于功耗考虑没有采用可唤醒的 alarm 来设置该 1min 定时器。而是采用非可唤醒的 alarm。而非可唤醒 alarm 需要有可唤醒 alarm 才会触发,因此这会导致...

2018-12-25 15:46:08 597

原创 Android Sprd省电管理(二)应用省电模式设置流程

在Android Sprd省电管理(一)appPowerSaveConfig.xml,我们介绍了appPowerSaveConfig.xml的主要参数的意义,这一篇我们介绍下,怎么设置应用的各种省电模式首先看SprdManageApplications这个类以锁屏清理为例,点击开关 @Override public void onItemClick(AdapterVie...

2018-12-25 11:14:48 745

原创 展讯定屏操作指导

》定屏 操作指导:(这个是user版本的) 测试要求: 1.插入>8G T卡 2.测试前调整手机时间和电脑时间一致 3.保留对应手机测试版本的vmlinux和symbols文件夹 symbols目录: /out/target/product/sp9832e_1h10_go/symbols vmlinux目录: /out/target/product/sp9832e_1h10_...

2018-12-21 09:46:37 459

原创 Android 网络开发(一) okHttp网络请求之缓存控制Cache-Control

Cache-Control:Cache-Control指定请求和响应遵循的缓存机制。在请求消息或响应消息中设置Cache-Control并不会修改另一个消息处理过程中的缓存处理过程。请求时的缓存指令有下几种:Public指示响应可被任何缓存区缓存。 Private指示对于单个用户的整个或部分响应消息,不能被共享缓存处理。这允许服务器仅仅描述当用户的部分响应消息,此响应消息对于其他用户的请...

2018-12-18 17:15:54 237

原创 Android中解决布局加载中setVisibility(View.GONE))失效问题

今天在写一个加载动画,发现第二次以后进入界面,加载动画不会消失最后参考这篇博客,解决了https://blog.csdn.net/Xiongjiayo/article/details/81878929记录一下!解决方法:在添加的控件布局中添加android:visibility="gone"属性总结:对需要设置可见或不可见的控件一定要在布局中的控件属性中添加android:...

2018-12-15 17:24:19 1914 2

转载 Android LowMemoryKiller 初识

lowmemorykiller: Killing 'apps.searchlite' (27533:27533), adj 900,一、内容预览1、为什么引入LowmemoryKiller? 进程的启动分冷启动和热启动,当用户退出某一个进程的时候,并不会真正的将进程退出,而是将这个进程放到后台,以便下次启动的时候可以马上启动起来,这个过程名为热启动,这也是Android的设计...

2018-12-11 14:12:46 181

原创 Android Sprd省电管理(一)appPowerSaveConfig.xml

源码设置路径vendor\sprd\platform\frameworks\native\data\etc\appPowerSaveConfig.xml<?xml version='1.0' encoding='utf-8' standalone='yes' ?><app_powersave_config><package name="com.pp.as...

2018-12-10 15:27:46 395

原创 android展讯平台 重启案例分析(三) monkey anr

1.参看sys_info信息sys_info 003 [ df ] [11-26 04:02:17.995] Filesystem 1K-blocks Used Available Use% Mounted ontmpfs ...

2018-12-07 15:32:45 506

原创 AS:android studio Unable to start the daemon process

今天用着电脑,突然蓝屏了,然后重启电脑,Android studio 就出现这个错误:Unable to start the daemon process. This problem might be caused by incorrect configuration of the daemon. For example, an unrecognized jvm option is us...

2018-12-06 15:33:33 88

原创 AS : Could not resolve all dependencies for configuration ':app:debugRuntimeClasspath'.

今天更新了下grade,突然跳出来:Error:Could not resolve all dependencies for configuration ':app:debugRuntimeClasspath'.解决方法:在项目的build.gradle 的buildscript 和 allprojects同时加上了 mavenCentral() buildscript { ...

2018-12-04 11:36:17 2978 1

转载 Android MTK 平台开关机、重启时间优化(三)

问题描述问题分析bootloader 优化kernel层优化frameworks层优化debug 技术说明总结问题描述开机时间相对参考机过慢,大约慢15s左右。Android 系统7.0。问题分析开机问题涉及的层次较多,大致有bootloader–>kernel–>Zygote–>PMS–>AMS–>Launcher 可以借助bootchart...

2018-12-03 15:54:53 760

Android内存填充apk

Android填充内存神器,将此apk install进手机,选择需要填充的百分比就OK了

2018-10-12

MTK AE解析工具

MTK AE解析工具

2018-10-12

空空如也

空空如也

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

TA关注的人 TA的粉丝

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