自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 资源 (1)
  • 收藏
  • 关注

原创 uni-app async/await优化启动流程

uni-app async/await优化启动流程App启动流程需求流程图一种实现方式Async/Await改进方法弹框组件使用Promise方式异步请求Promise包装最终方案App启动流程通常我们App在进入首页时,都需要做一些初始化工作,如申请权限,从服务器获取数据(user信息,App配置信息等),sdk初始化等。一般的App可能包含下面几个步骤:用户协议和隐私政策(首次启动展示,需要用户同意才可进入app)权限申请用户登录状态判断3.1 未登录跳转登录页面3.2 已登录获取用户信

2021-06-17 18:40:28 1385 2

转载 Vold源码分析

本文转载自:http://blog.csdn.net/gaugamela/article一、Vold工作机制Vold是Volume Daemon的缩写,它是Android平台中外部存储系统的管控中心,是管理和控制Android平台外部存储设备的后台进程。其功能主要包括:SD卡的插拔事件检测、SD卡挂载、卸载、格式化等。如上图所示,Vold中的Netlin

2017-11-22 20:09:37 909

原创 Android N installd与PackageManagerService

Android系统中应用的安装卸载都是通过调用PackageManagerService来完成的,但在PKMS中,对于目录的创建、文件copy、dex优化都是通过调用底层的installd来完成的。至于为什么不直接在PKMS中进行文件的操作,主要是涉及到权限的问题,PKMS只有system的权限,而installd的作用就是处理需要root权限的操作。1. installd启动Instll

2017-11-22 18:07:40 999

原创 Android 7.0 卸载APK源码分析

* The key steps in deleting a package are* deleting the package information in internal structures like mPackages,* deleting the packages base directories through installd* updating mSettings to reflect current status* persisting settings for late

2017-11-16 23:00:04 2721

原创 PackageManagerService安装lib库

APP开发都会用到动态链路库,即so库。在代码中通常通过System.loadLibrary()来加载so库,但也经常会碰到App在一些手机上没有问题,在另外一些手机上使用时出错,如java.lang.UnsatisfiedLinkError,就是和动态链路库加载错误有关。想要解决这类问题,就要了解系统在安装APK的时候是如何处理so库的。下面从源码上分析这一过程。    在安装APK时,若A

2017-09-02 14:18:13 1005

原创 LeeCode String to Integer (atoi)

class Solution { public int myAtoi(String str) { str = str.trim(); if(str == null || str.length() == 0) return 0; int length = str.length(); int isNegative =1; in

2017-08-29 17:24:00 243

原创 LeeCode ZigZag Conversion

public class Solution {    public String convert(String s, int numRows) {        if(s == null || s.length()==0 || numRows         return "";      if(numRows == 1)          return s;      S

2017-08-08 22:52:49 153

原创 PackageManagerService安装APK流程

Android手机安装APK有几种方式通过ADB安装通过应用商店安装通过把APK放在手机目录,手动安装,这种安装方式有安装界面      这三种安装方式都是调用了PKMS的借口,到PKMS后流程都是相同的,这里主要介绍下通过应用商店安装APK的流程。从应用商店下载APK后会调用PackageManagerService的installPackage()方法。

2017-08-06 10:28:08 1482

原创 LeeCode Longest Palindromic Substring

public class Solution { public String longestPalindrome(String s) { boolean table[][] = new boolean[s.length()][s.length()]; int resI = 0; int len = 1; int maxLen = 1;

2017-07-30 15:35:09 160

原创 PackageManagerService Intent匹配查询

PKMS除了负责应用的安装、更新、卸载之外,同时也对外提供信息的查询。例如查询系统中匹配某Intent的Activities、Services等。本文就以Activity为例,分析PKMS如何通过Intent查询Activity。本文分为三个部分:1.   Activity信息的保存2.   Intent查询Activity的规则3.   PKMS通过Intent查询Activit

2017-07-29 16:36:43 1038

原创 PackageManagerService分析(三)

授予apk权限

2017-07-24 23:17:53 712

原创 PackageManagerService分析(二)

PKMS扫描APK阶段

2017-07-23 21:51:00 749

原创 PackageManagerService分析(一)

PKMS 启动第一阶段扫描各xml文件

2017-07-13 22:20:56 501

原创 LeeCode Median of Two Sorted Arrays

public class Solution {    public double findMedianSortedArrays(int[] nums1, int[] nums2) {        int length1 = nums1.length;int length2 = nums2.length;int length = length1 + length2;ArrayL

2017-07-07 00:32:17 154

原创 LeeCode Longest Substring Without Repeating Characters

public int lengthOfLongestSubstring(String s) {        int length = s.length();        if(length == 0)         return 0;       int p=0;       int q=1;       int max = 1;       int isEqua

2017-06-28 00:26:40 137

原创 LeeCode And Two Numbers

public class Solution {    public ListNode addTwoNumbers(ListNode l1, ListNode l2) {        if(l1 == null) return l2;        if(l2 == null) return l1;                 int carry = 0;       

2017-06-27 00:13:55 192

微波工程第三章

导波:传输线起着引导能量和传输信息的作用,传输线中所传输电磁波统称为导波。 常见的传输线类型:矩形波导、圆波导、同轴线、平行双线、微带线、耦合微带线、介质波导等。

2013-08-09

空空如也

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

TA关注的人

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