03 2023 档案

摘要:Android Service之设备存储空间监控 在负责文件系统模块的过程中,经常会碰到由于系统空间被消耗完而导致的问题,因此要确保为系统功能(如数据库同步)保留一定的空间。在功能机中一般是由文件系统模块预留,那么在Android系统是怎样对设备存储空间进行管理和监控的呢? 如果你在使用Androi 阅读全文
posted @ 2023-03-31 11:09 xiaowang_lj 阅读(412) 评论(0) 推荐(0) 编辑
摘要:(286条消息) Intent传递数据大小的限制_intent传输最大数据限制是什么_yzpyzp的博客-CSDN博客 (286条消息) Intent传输数据大小限制-Android-CSDN博客 阅读全文
posted @ 2023-03-27 20:28 xiaowang_lj 阅读(52) 评论(0) 推荐(0) 编辑
摘要:1、定义和性质不同 1、指针是一个变量,存储的地址,指向内存单元 2、引用是变量的别名,跟原始变量是同一块内存 int a = 10; int *p = &a; // p是指针, &在此是取地址运算 int &r = a; // r是引用, &在此起标识作用 2、指针可以不初始化,引用必须初始化 i 阅读全文
posted @ 2023-03-27 19:56 xiaowang_lj 阅读(108) 评论(0) 推荐(0) 编辑
摘要:步骤 进入C:\Windows\System32\drivers\etc路径,把hosts复制到桌面 在桌面将hosts以记事本方式打开,复制下面内容,退出保存 20.205.243.166 github.com # GitHub Start 140.82.114.4 github.com 199. 阅读全文
posted @ 2023-03-26 10:30 xiaowang_lj 阅读(407) 评论(0) 推荐(0) 编辑
摘要:问题:make project 项目生成的apk大小在15M左右 run 到设备里的apk 大小在5M左右 通过解包分析 ,主要差异在lib文件夹下 15M的包 5M的包 如需控制打包的内容,在app的build.gradle中配置即可 ndk{ abiFilters 'armeabi-v7a' } 阅读全文
posted @ 2023-03-23 17:52 xiaowang_lj 阅读(534) 评论(0) 推荐(1) 编辑
摘要:1.方法1 判等时将变量作为参数或者使用TextUtils工具 "".equals(name) TextUtils.equals(name,null) 2.方法2 使用TextUtils工具 TextUtils.isEmpty(name) 3.使用try catch对异常进行捕获 try{ Log. 阅读全文
posted @ 2023-03-23 15:15 xiaowang_lj 阅读(152) 评论(0) 推荐(0) 编辑
摘要:指针数组 int as[] = {1,5,6,5}; int *p=as; printf("%d",*p);输出as[0] printf("%d",++*p);输出as[0]+1 printf("%d",++(*p));输出as[0]+1 printf("%d",*p++);输出as[0] 然后指向 阅读全文
posted @ 2023-03-23 14:39 xiaowang_lj 阅读(11) 评论(0) 推荐(0) 编辑
摘要:1.配置c_cpp_properties.json { "configurations": [ { "name": "Win32", "includePath": [ "${workspaceFolder}/**" ], "defines": [ "_DEBUG", "UNICODE", "_UNI 阅读全文
posted @ 2023-03-23 10:26 xiaowang_lj 阅读(46) 评论(0) 推荐(0) 编辑
摘要:解决方法 在Android studio, file-->settering >plugins android NDK support插件的选项去掉,restart,重新debug, NDK无法add breakpoint,再 file-->settering >plugins android ND 阅读全文
posted @ 2023-03-22 19:29 xiaowang_lj 阅读(817) 评论(0) 推荐(1) 编辑
摘要:最近在写代码时碰到如下错误: java.lang.IllegalArgumentException: com.example.imdemo: Targeting S+ (version 31 and above) requires that one of FLAG_IMMUTABLE or FLAG 阅读全文
posted @ 2023-03-22 15:02 xiaowang_lj 阅读(1835) 评论(0) 推荐(0) 编辑
摘要:1.创建脚本 执行报错 -bash: ./test.sh: /bin/bash^M: bad interpreter: No such file or directory 解决方法 由于脚本是在Windows环境下创建的,放在Linux环境下会存在格式的问题,需要转换一下格式 使用 dos2unix 阅读全文
posted @ 2023-03-21 15:22 xiaowang_lj 阅读(14) 评论(0) 推荐(0) 编辑
摘要:配置编译规则 LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE_TAGS := optional LOCAL_SRC_FILES := $(call all-java-files-under, app/src/main/j 阅读全文
posted @ 2023-03-21 10:15 xiaowang_lj 阅读(84) 评论(0) 推荐(0) 编辑
摘要:1.自己在data/tcpdump 下定义了 tcpdump_file类型的文件 file_context /data/tcpdump(/.*)? u:object_r:tcpdump_file:s0 file.tetype tcpdump_file, file_type; 2.测试报错 java. 阅读全文
posted @ 2023-03-20 20:00 xiaowang_lj 阅读(286) 评论(0) 推荐(0) 编辑
摘要:1. DAC和MAC 在了解SELinux之前,我们先来了解一下Linux的两种访问控制策略:DAC和MAC 1.1 Linux DAC DAC,自主访问控制(Discretionary Access control)。系统只提供基本的验证, 完整的访问控制由开发者自己控制。 DAC将资源访问者分成 阅读全文
posted @ 2023-03-20 19:54 xiaowang_lj 阅读(1196) 评论(0) 推荐(0) 编辑
摘要:1.ActivityManager的getRunningTasks方法 public String getTopActivity(String path) { ActivityManager activityManager = (ActivityManager)getContext().getApp 阅读全文
posted @ 2023-03-18 15:20 xiaowang_lj 阅读(967) 评论(0) 推荐(0) 编辑
摘要:TreeMap是有序map,通过key进行排序 1.TreeMap是如何实现去重和排序的? TreeMap实现了SortedMap接口,它是一个key有序的Map类。 TreeMap的默认排序规则:根据key元素的 compareTo 方法来排序。 2.自定义排序: 我们还可以向TreeMap的构造 阅读全文
posted @ 2023-03-18 15:09 xiaowang_lj 阅读(102) 评论(0) 推荐(0) 编辑
摘要:正则表达式 又称规则表达式,(Regular Expression,在代码中常简写为regex、regexp或RE),是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为"元字符"),是计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串, 阅读全文
posted @ 2023-03-18 10:44 xiaowang_lj 阅读(106) 评论(0) 推荐(0) 编辑
摘要:system :数据没有加密 system_ce:使用可信证书加密 用户解锁设备后使用 system_de:设备加密 开机的时候使用 A/B 系统原理 A/B 系统是将system分区分成两个,一个是工作分区,一个是升级分区。平时系统工作在A分区,OTA升级在B分区。两个工作可以同时进行。B升级完成 阅读全文
posted @ 2023-03-17 11:16 xiaowang_lj 阅读(383) 评论(0) 推荐(0) 编辑
摘要:SparseArray是Android中特有的数据结构,他的几个重要的特点; 以键值对形式进行存储,基于二分查找,因此查找的时间复杂度为0(LogN); .由于SparseArray中Key存储的是数组形式,因此可以直接以int作为Key。避免了HashMap的装箱拆箱操作,性能更高且int的存储开 阅读全文
posted @ 2023-03-17 10:00 xiaowang_lj 阅读(208) 评论(0) 推荐(0) 编辑
摘要:android:exported="true"是什么 android:exported 其实并不是Android12的新属性,在前面的版本也可以看见它。它是Android中的四大组件 Activity,Service,Provider,Receiver 四大组件中都会有的一个属性。 作用是什么 在A 阅读全文
posted @ 2023-03-16 19:23 xiaowang_lj 阅读(519) 评论(0) 推荐(0) 编辑
摘要:1.概述 UsageStatsService 它是收集、聚合和保存应用程序使用数据的服务, 这些数据可以被 AppOps 授权的应用查询。源码路径 framework/base/services/usage/java/com/android/server/usage/下。 UserUsageStat 阅读全文
posted @ 2023-03-16 19:19 xiaowang_lj 阅读(814) 评论(0) 推荐(0) 编辑
摘要:C++中的五种内存 在C++中内存分为五个区:堆、栈、自由存储区、全局/静态存储区和常量存储区。 堆区:用户使用new获得的内存在这里。用户需要自行管理其声明周期,也就是说一个new要对应一个delete,如果因为某些原因(之后我会说明一些可能的原因)内存没有被释放,那么在程序结束后,会由操作系统自 阅读全文
posted @ 2023-03-16 14:21 xiaowang_lj 阅读(256) 评论(0) 推荐(0) 编辑
摘要:1.定义类 一般写在.h文件中 #include<string> #include<iostream> using namespace std; void print(char content[]); void TestString1(); void TestString2(); void Test 阅读全文
posted @ 2023-03-16 11:27 xiaowang_lj 阅读(43) 评论(0) 推荐(0) 编辑
摘要:小引 C语言中,字符串是以\0结尾的一些字符的集合,为了操作方便,C标准库中提供了一些str系列的库函数,但是这些库函数与字符串是分离开的,不太符合OOP(面向对象)的思想,而且底层空间需要用户自己管理,稍不留神可能还会越界访问。 C++中就引入了String类,它可以看做是一个管理字符串的数据结构 阅读全文
posted @ 2023-03-16 11:19 xiaowang_lj 阅读(36) 评论(0) 推荐(0) 编辑
摘要:权限 我们知道,Android应用都运行在沙盒中,默认情况下这些应用只能访问他们自己的域,即自己的文件和非常少量的系统服务。为了能够和系统或者其他应用交互,app就需要申请额外的一些权限。 permission(权限)实际上就是一个简单的字串,申明需要做哪些类型的操作。 Android系统预置了很多 阅读全文
posted @ 2023-03-15 18:39 xiaowang_lj 阅读(335) 评论(0) 推荐(0) 编辑
摘要:1、CompileSdkVersion是你SDK的版本号,也就是API Level,指定了Gradle编译你的App时使用的Android API版本 2、buildeToolVersion是你构建工具的版本,其中包括了打包工具aapt、dx等等。这个工具的目录位于sdk_path/build-to 阅读全文
posted @ 2023-03-15 11:16 xiaowang_lj 阅读(1046) 评论(0) 推荐(0) 编辑
摘要:1.观察者 Observer 例如客户 2.被观察者 Observable 例如 商品 3.被观察者基础Observable public class House extends Observable { private int price; public int getPrice() { retu 阅读全文
posted @ 2023-03-15 11:09 xiaowang_lj 阅读(16) 评论(0) 推荐(0) 编辑
摘要:一、什么是CAS CAS,compare and swap的缩写,中文翻译成比较并交换。 CAS 操作包含三个操作数 —— 内存位置(V)、预期原值(A)和新值(B)。 如果内存位置的值与预期原值相匹配,那么处理器会自动将该位置值更新为新值 。否则,处理器不做任何操作。 二、从一个案例引出CAS 案 阅读全文
posted @ 2023-03-09 17:55 xiaowang_lj 阅读(5430) 评论(0) 推荐(0) 编辑
摘要:Atomic 原子的 Automatic自动的 1.synchronized(同步锁):以时间换取安全,效率低下 2.ThreadLocal:以空间换取时间,比较消耗资源,安全 3.单例模式用双重锁比价好,线程安全且效率还行 4.线程的挂起有wait(被动,需要外界唤起),sleep(主动,不释放资 阅读全文
posted @ 2023-03-09 16:50 xiaowang_lj 阅读(684) 评论(0) 推荐(1) 编辑
摘要:chmod 【数字】【文件名】:修改权限位 chmod 命令用来改变文件或目录的权限,但只有文件的属主和超级用户 root 才能执行此命令rwxr-xr-x —— 755前三个权限位 对应 属主权限位中三个权限位 对应 属组权限位后三个权限位 对应 其他用户权限位r 权限,全称 read,可读权限, 阅读全文
posted @ 2023-03-09 12:09 xiaowang_lj 阅读(163) 评论(0) 推荐(0) 编辑
摘要:1、如图 2.配置 有中文的话 需要配置 -encoding utf-8 -charset utf-8 3.使用工具将html转为 chm 阅读全文
posted @ 2023-03-09 10:17 xiaowang_lj 阅读(64) 评论(0) 推荐(0) 编辑
摘要:在android修改代码后,经常会遇到运行时报avc denied问题。下面是我遇到的案例,以及我的解决方案,发出来供大家参考一下。 运行avc denied的日志: 03-08 11:00:02.502 6849 6849 W om.sdt.diagnose: type=1400 audit(0. 阅读全文
posted @ 2023-03-08 14:56 xiaowang_lj 阅读(3177) 评论(0) 推荐(0) 编辑
摘要:单向认证:客户端验证服务器端证书,客户端没有证书 客户端向服务端发送SSL协议版本号、加密算法种类、随机数等信息。 服务端给客户端返回SSL协议版本号、加密算法种类、随机数等信息,同时也返回服务器端的证书,即公钥证书 客户端使用服务端返回的信息验证服务器的合法性,包括: 证书是否过期 发型服务器证书 阅读全文
posted @ 2023-03-06 20:10 xiaowang_lj 阅读(101) 评论(0) 推荐(0) 编辑
摘要:1.头插法 该算法的官方描述为∶从一个空表开始,重复读入数据,生成新结点,将读入数据存放到新结点的数据域中,然后将新结点插入到当前链表的表头结点之后。 这里的重点就是:每次生成的新结点都是要与头结点相连接的,每个新结点都插在了原来第一个节点的前面。通过这种方法建立的链表是后来居前的,也就是链表是逆序 阅读全文
posted @ 2023-03-06 19:52 xiaowang_lj 阅读(223) 评论(0) 推荐(0) 编辑
摘要:Interceptor介绍 okhttp的拦截器就是将整个请求网络的过程的每一步都封装在不同的Interceptor里,这样说可能有点绕,简单点说就是把一个List里的Interceptor都顺序执行一遍,那么整个网络请求过程就完成了 @Throws(IOException::class) inte 阅读全文
posted @ 2023-03-06 11:25 xiaowang_lj 阅读(92) 评论(0) 推荐(0) 编辑
摘要:1.创建HashSet Set<String> set = new HashSet<>(); set.add("aaa"); 2.构造方法 private transient HashMap<E,Object> map; /** * Constructs a new, empty set; the 阅读全文
posted @ 2023-03-06 09:48 xiaowang_lj 阅读(14) 评论(0) 推荐(0) 编辑
摘要:1.创建 LinkedList List<String> list = new LinkedList<>(); list.add("wang"); 2.构造方法:开起了什么都没有做 /** * Constructs an empty list. */ public LinkedList() { } 阅读全文
posted @ 2023-03-06 09:38 xiaowang_lj 阅读(15) 评论(0) 推荐(0) 编辑
摘要:1.创建ArrayList List<String> list = new ArrayList<>(); list.add("wang"); 2.构造方法: elementData的长度就是ArrayList的容量,在第一次使用时,elementData的长度会扩展到10 /** * Shared 阅读全文
posted @ 2023-03-06 09:24 xiaowang_lj 阅读(14) 评论(0) 推荐(0) 编辑
摘要:1.Android Studio创建native项目 对项目进行解释 cmake_minimum_required(VERSION 3.10.2) # Declares and names the project. project("jnitest") # Creates and names a l 阅读全文
posted @ 2023-03-04 14:53 xiaowang_lj 阅读(149) 评论(0) 推荐(0) 编辑
摘要:系统api.png 如上图所示,PackageManager.getPermissionFlags()方法是被@SystemApi注解修饰过的方法,@SystemApi 只允许system app 调用或者用反射方法调用, 反射方法实例: this.mPackageManager = context 阅读全文
posted @ 2023-03-03 17:12 xiaowang_lj 阅读(1499) 评论(0) 推荐(0) 编辑
摘要:什么是内部类? 将一个类A定义在另一个类B里面,里面的那个类A就称为内部类,B则称为外部类。 成员内部类 定义在类中方法外的类。 定义格式: class 外部类 { class 内部类{ } } 在描述事物时,若一个事物内部还包含其他事物,就可以使用内部类这种结构。比如,汽车类Car 中包含发动机类 阅读全文
posted @ 2023-03-02 15:11 xiaowang_lj 阅读(34) 评论(0) 推荐(0) 编辑
摘要:什么是匿名内部类 匿名类是一个表达式,在定义的最后用分号";"结束 匿名内部类可以使你的代码更加简洁,你可以在定义一个类的同时对其进行实例化。它与局部类很相似,不同的是它没有类名,如果某个局部类你只需要用一次,那么你就可以使用匿名内部类 匿名类是不能有名字的类,它们不能被引用,只能在创建时用New语 阅读全文
posted @ 2023-03-02 14:55 xiaowang_lj 阅读(51) 评论(0) 推荐(0) 编辑
摘要:Kotlin的标准函数是指 Standard.kt 文件中定义的函数,任何Kotlin代码都可以自由地调用所有的标准函数。 内置函数的总结:let:1.let函数返回类型,是根据匿名函数最后一行的变化而变化2.let函数的匿名函数里持有的是it == 集合本身 apply:1.apply函数返回以及 阅读全文
posted @ 2023-03-02 09:12 xiaowang_lj 阅读(129) 评论(0) 推荐(0) 编辑
摘要:1.Activity对事件的分发过程 public boolean dispatchTouchEvent(MotionEvent ev) { if (ev.getAction() == MotionEvent.ACTION_DOWN) { onUserInteraction(); } if (get 阅读全文
posted @ 2023-03-01 17:23 xiaowang_lj 阅读(17) 评论(0) 推荐(0) 编辑
摘要:可重入锁,指的是以线程为单位,当一个线程获取对象锁之后,这个线程可以再次获取本对象上的锁,而其他的线程是不可以的。在释放的时候,也需要相应的释放n次synchronized 和 ReentrantLock 都是可重入锁。 可重入锁的意义之一在于防止死锁。 构造方法如图所示:默认实现的是非公平锁 基本 阅读全文
posted @ 2023-03-01 15:06 xiaowang_lj 阅读(19) 评论(0) 推荐(0) 编辑
摘要:简介 HTTPS是在HTTP的基础上和ssl/tls证书结合起来的一种协议,保证了传输过程中的安全性,减少了被恶意劫持的可能.很好的解决了解决了http的三个缺点(被监听、被篡改、被伪装) 对称加密和非对称加密 对称加密 即加密的密钥和解密的密钥相同, 非对称加密 非对称加密将密钥分为公钥和私钥,公 阅读全文
posted @ 2023-03-01 14:04 xiaowang_lj 阅读(273) 评论(0) 推荐(0) 编辑
摘要:HTTPS协议也是应用层的一种网络协议,与HTPP协议报文格式都一样,仅在HTTP协议的基础上,引入了加密层。由于HTTP协议内容的明文传输,导致其传输过程十分不安全,所以加密的HTTPS可以简单理解为HTTP的安全版。 明文传输时非常不安全的操作,可能会面临运营商劫持篡改信息以及黑客劫持窃取用户隐 阅读全文
posted @ 2023-03-01 11:29 xiaowang_lj 阅读(191) 评论(0) 推荐(0) 编辑
摘要:ThreadLocal 概述 ThreadLocal类用来提供线程内部的局部变量,不同的线程之间不会相互干扰这种变量在多线程环境下访问(通过get和set方法访问)时能保证各个线程的变量相对独立于其他线程内的变量在线程的生命周期内起作用,可以减少同一个线程内多个函数或组件之间一些公共变量传递的复杂度 阅读全文
posted @ 2023-03-01 10:02 xiaowang_lj 阅读(15) 评论(0) 推荐(0) 编辑