自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(67)
  • 资源 (4)
  • 收藏
  • 关注

转载 安卓 每日一题 2020年9-10月问题及答案

Android9月1日题: 请解释下 Android 程序运行时权限与文件系统权限的区别?参考答案:apk 程序是运行在虚拟机上的,对应的是 Android 独特的权限机制,只有体现到文件系统上时才使用 linux 的权限设置。(一)linux 文件系统上的权限-rwxr-x--x system system 4156 2010-04-30 16:13 test.apk代表的是相应的用户/用户组及其他人对此文件的访问权限,与此文件运行起来具有的权限完全不相关。比如上面的例子只能说明 syste

2020-11-18 15:48:06 568 1

原创 Android 性能优化 --内存优化、电量优化

Android 性能优化 --内存优化

2020-11-13 10:58:54 17

原创 从源码解析Android系统模块架构

深入理解PackageManagerService深入理解ActivityManagerServiceWindow 、WindowManager和WindowManagerServiceApplication生命周期应用进程启动流程Android Activity生命周期Activity布局加载流程Android 中的Activity、Window、View之间的关系ActivityThread的主要工作及实现机制应用进程Context创建流程Android Context 是什么?

2020-11-09 12:01:54 68

原创 APP架构设计相关资料

注解处理器数据存储--MMKV使用及原理数据存储--room使用RxAndroid的使用方式自定义类加载器加载加密类文件Android动态化框架App BundlesMVC、MVP、MVVM混合开发及Android WebView应用Android屏幕适配全方位解析Android中的Apk的加固(加壳)原理解析和实现Android 中使用AOPAndroid Studio编译过程其它安卓APP架构设计对移动端架构的思考

2020-10-10 11:14:22 118 1

转载 安卓 每日一题 2020年7-8月问题及答案

Android7月2日题: RxJava中的自定义操作符实现思路?参考答案: RxJava的整体结构使用观察者与装饰器模式的组合实现,如果我们需要设计一个自定操作符,主要有以下情况:如果自定义的操作符是作为第一个事件源头,可以通过继承Observable类进行下游对接。如果自定义的操作符是作为变换过程中间的部份,可以通过继承AbstractObservableWithUpstream来进行上游与下游的对接过程。如果自定义的操作符是作为最终观查者收到的结果的二次处理,可以通过继承Obser

2020-09-17 15:04:20 256

原创 安卓软件开发常用命令集合

adb 常用命令tar 常用命令Android NDK开发Crash错误定位OTA 升级,差分包制作odex去除的源码模块编译方法打开ipod debug模式一个windows的adb自动按键测试bat脚本M18编译MTK 按键映射dws修改

2020-08-24 09:20:06 725

原创 Android 音视频流媒体相关知识导航

文章目录音视频相关知识导航相关博客专栏相关协议介绍RTP与RTCP协议介绍H264编码参数的设置Zookeeper相关ffmpeg 相关SRS(Simple RTMP Server)移动端推流/拉流RTMPSmarterStreamin音视频相关知识导航相关博客专栏雷霄骅(leixiaohua1020)的专栏,里面有非常多关于音视频编码/ffmpeg相关的学习资料,入门必备。yjy239 音视频系列专栏 相关协议介绍RTP与RTCP协议介绍https://blog.51cto.com/z

2020-07-15 18:01:05 103

原创 Android 性能优化--APP启动、UI优化
原力计划

安卓系统启动流程Activity启动流程优化启动的ActivityActivity的Theme优化Activity的布局优化Button(View)的显示过程布局优化方案常用优化工具Activity的代码优化优化Application初始化Java代码性能分析方法logcat查看启动时间Profiler查看启动时间

2020-06-16 15:53:09 298

原创 Android 性能优化 -- 网络优化

避免频繁网络请求使用线程池图片必须缓存,最好一句机型做图片适配所有http请求必须添加http timeouthttp 开启gzip压缩选择合适的数据格式传输,比如json、protocol依据http头信息中cache-contrl及expires确定是否缓存请求结果确定请求的connection是否keep-alive减少请求次数,适当做请求合并减少重定向次数不是用域名,用IP直连服务器分布式部署连接复用,请求合并CDN缓存静态资源对post请求的body做gzip压缩,如.

2020-06-10 17:42:05 104

转载 安卓 每日一题 2020年5-6月问题及答案

**Android5月7日题:**在使用 HashMap 的时候,用 String 做 key 有什么好处?参考答案:HashMap 内部实现是通过 key 的 hashcode 来确定 value 的存储位置,因为字符串是不可变的,所以当创建字符串时,它的 hashcode 被缓存下来,不需要再次计算,所以相比于其他对象更快。**Android5月8日题:**请说一说OkHttp与Retrofit 的区别与联系是怎样的?**参考答案:**OkHttp和Retrofit都是目前流行网络开源框架封

2020-06-10 16:29:00 135

转载 安卓 每日一题 2020年4月问题及答案

Android4月1日题: 什么是代理模式答:为其他对象提供一种代理以控制对这个对象的访问,它主要解决在直接访问对象时带来的问题, 比如说:要访问的对象在远程的机器上。在面向对象系统中,有些对象由于某些原因(比如对象 创建开销很大,或者某些操作需要安全控制,或者需要进程外的访问),直接访问会给使用者或 者系统结构带来很多麻烦,我们可以在访问此对象时加上一个对此对象的访问层Android4月2日题: 当两个对象的hashcode相同会发生什么?答:如果是在存储阶段,两个对象如果作为key,他们的h

2020-06-08 10:47:13 158

转载 安卓 每日一题 2020年3月问题及答案

Android 3月2日题:onMeasure是干什么的?答案:onMeasure方法主要是用于度量ViewGroup的子view的大小同时确定和保存自己ViewGroup的大小,将xml中的布局信息进行计算,计算出他们需要显示的布局数据。Android 3月3日题:手机的运行内存越来越大,为什么加载个大图片就可能导致OOM?答案:因为安卓对虚拟机的堆内存做了硬性限制,当进程申请的空间超过阈值时,就会抛出OOM异常(这个阈值可以是48M、24M、16M等,视机型而定)Android 3月4日

2020-06-04 15:24:35 181

转载 Android插件化原理解析及常见框架对比

常见android插件框架对比Dynamic-Load-ApkDroidPluginVirtualApkRePlugin总结

2020-06-04 10:36:55 781

原创 直播视频分辨率码率参考设置

视频宽视频高帧率60帧率30帧率25(荐)帧率20帧率15帧率10分辨率比例72048016208106755404052703:2720405136068057045034023016:9102476836861843153612299226144:312807204320216018001440108072016:9128096057602880240019201440...

2020-06-02 11:23:52 1355

转载 Android 中使用ASM,对Activity生命周期打点统计

介绍ASMASM库结构class文件结构原java类型与class文件内部类型对应关系原java方法声明与class文件内部声明的对应关系ASM的处理流程,生产者消费者模式示例:拦截Android中 Activity生命周期方法,执行的时长。

2020-06-01 22:56:18 122

转载 安卓 每日一题 2020年2月问题及答案

Android 2月2日题:android图片占用的内存大小怎么计算?答案:分辨率像素点大小。但是分辨率不一定是原图分辨率,而像素点一般就ARGB_8888(4字节)与RGB_565(2字节)。android系统会根据图片不同来源决定加载图片的分辨率。图片来自res,则分辨率=原图横向分辨率(设备dpi/目录对于dpi)原图纵向分辨率(设备dpi/目录对于dpi);图片来自磁盘、文件等,按照原图分辨率加载。Android 2月3日题:android创建多线程方式答案:Handler+Thread、As

2020-05-29 11:29:21 184

转载 安卓 每日一题 2020年1月问题及答案

Android 1月2日题:SharedPrefrences的apply和commit有什么区别?答案:apply没有返回值而commit返回boolean表明修改是否提交成功。apply是将修改数据原子提交到内存, 而后异步真正提交到硬件磁盘, 而commit是同步的提交到硬件磁盘.Android 1月3日题:SurfaceView和View的区别?答案:View需要在UI线程对画面进行刷新,而SurfaceView可在子线程进行页面的刷新SurfaceView在底层已实现双缓冲机制,因此Sur

2020-05-29 11:28:16 173

转载 安卓 每日一题 2019年9-12月问题及答案

文章目录安卓2019年09月每日一题安卓2019年10月每日一题安卓2019年11月每日一题安卓2019年12月每日一题安卓2019年09月每日一题Android 9月5日题:某学生信息表,设一组表示成绩的关键字序列(24,15,32,28,19,10,40)采用直接插入排序时,当插入记录19到有序表时,为找插入位置需比较次数为( )A、2B、3C、4D、5答案:C、4解析:插入排序是从后往前比的 所以 15 24 28 32的比较方向是 32->28->24-&gt

2020-05-27 15:38:13 291

转载 Android 性能优化 -- MMKV使用与原理

一. 集成与测试依赖注入初始化获取实例CURDSP 的迁移数据测试二. 初始化目录的创建三. 实例化一) 文件映射到内存二) 数据的载入三) 回顾四. encode一) 数据的编码二) 键值对的更新数据的重整与扩容三) 回顾五. decode思考六. 进程读写的同步一) 文件共享锁二) 文件排它锁三) 读写效率表现总结参考文献

2020-05-25 22:53:52 346

转载 Android性能优化

Android优化I. 基础相关1. 老生常谈的数据结构2. 编码习惯II. 数据库相关1. 无法使用索引的情况2. 不推荐3. 推荐III. 网络调优策略层面优化数据结构层面其他层面优化IV. 多进程抉择V. UI层面VI. 内存1. 内存管理2. 避免内存泄漏相关3. 图片VII. 线程VIII. 编译与发布IX. 工具X. 其他

2020-05-20 13:38:48 467

转载 Kotlin运行时性能

Kotlin运行时性能前言性能测试结果1. 性能相比Java更差相关2. 性能相比Java更优相关3. Kotlin自身比较实验过程I. 性能相比Java更差相关1. `varargs`参数2. `Delegated Properties`II. 性能相比Java更优相关1. Lambda2. 静态(`Companion Objects`)变量访问3. 局部函数(`Local Functions`)访问4. 空检查(`Null safety`)III. Kotlin自身比较

2020-05-20 13:25:26 347

原创 Git配置和常用命令

Git配置和常用命令初始配置创建commit模板建立配置ssh的配置文件创建新git仓库并push到远程:push已有项目到远程仓库git stash 的使用查看、添加、提交、删除、找回,重置修改文件查看文件diff查看提交记录Git 本地分支管理--查看、切换、创建和删除分支分支合并和rebaseGit暂存管理Git远程分支管理Git远程仓库管理创建远程仓库tag 使用reflog 使用

2020-04-22 09:56:13 321

原创 Android OpenGL添加水印并录制视频--抖音视频录制原理

采集Camera的预览数据,然后通过OpenGL添加水印、贴纸、美颜滤镜等后渲染到GLSurfaceView,再用MediaCodec硬编码后通过MediaMuxer写入MP4文件。

2020-04-21 23:47:29 603

原创 Android基于OpenCV通过JNI识别并显示人脸位置

Android基于OpenCV通过JNI识别并显示人脸位置设计思路代码设计说明效果如下代码结构如下JNI识别人脸并画区域代码如下通过ANativeWindow显示RGBA数据到surface代码如下将RGA数据填充到ANativeWindow_Buffer代码如下注意问题说明

2020-04-14 17:47:12 236

原创 Android离线人脸识别方案对比

Android 离线人脸识别方案对比总结百度、腾讯、阿里、Face++、商汤等人脸识别虹软人脸识别OpenCV 人脸识别中科视拓(SeetaFaceEngine2)人脸识别Android FaceDetector总结

2020-04-13 18:31:29 499

原创 Android 性能优化--进程保活(11种方案总结)

什么是LMKDService保活方案1. Activity提权2. Service机制(Sticky)拉活3. Native拉活4. “全家桶”拉活5. 广播拉活6. Service提权7. 推送拉活8. JobScheduler拉活9. 账户同步拉活10. 双进程守护11. 手机设置白名单、自启动等总结

2020-04-07 22:11:51 506

原创 CameraX ImageAnalysis 输出帧大小设置

CameraX 是对 Jetpack 的补充,可让您更轻松地利用 Camera2 API 的功能//设置宽高比ImageAnalysis.Builder().setTargetAspectRatio//设置实际的尺寸ImageAnalysis.Builder().setTargetResolutionCamera2 录像并获取实时帧

2020-03-30 22:39:50 1031

原创 CSDN 转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传 问题解决

近期使用CSDN 的Markdown发现插入连接图片,遇见提示"转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传",现在提供解决方案如下Markdown的最终都是转为html来显示,我们可以直接在其中插入html显示图片

2020-03-23 16:25:59 1249

原创 对刷机包的system.img修改,然后重新打包

HowToModifySystemImage 对刷机包的system.img修改,然后重新打包 资源链接:https://gitee.com/chenjimcom/HowToModifySystemImage1. 准备工作:2. 转换源文件为"*.img.ext4"格式3. 挂载镜像4. 修改镜像内容5. 重新打包

2017-10-23 17:23:49 9952

原创 Android应用的签名及签名文件转换

1. 生成APK签名文件1.1 使用keytool命令生成.jks2. 查看签名文件的签名信息3.1 用指定的keystore 签名apk3.2 使用platform.x509.pem和platform.pk8对apk签名3.3 使用集成IDE对APK签名4. 用keytool查看应用(APK)的签名5. .jks转 .keystone5.1 .jks 转 .p125.2 .p12 转 .keystore6. .keystore转.x509.pem和.pk87. 应用中获取签名信息

2017-10-13 17:52:29 632

转载 Android 编码规范

1. 前言1.1 术语说明1.2 示例代码仅作参考,并不作为规范。2. 源文件基础2.1 文件名2.2 文件编码2.3 特殊字符3. 源文件结构3.1 许可证或版权信息3.2 package语句3.3 import语句3.4 类声明4. 格式术语4.1 大括号4.2 块缩进:4个空格4.3 一行一个语句4.4 列限制:120(默认80)4.5 自动换行4.6 空白4.7 用小括号来限定组:推荐4.8 具体结构5. 命名约定6. 编程实践7. Javadoc

2017-09-28 17:52:04 367

原创 repo安装使用及项目配置

repo安装 首先确认电脑是否已经安装repo,执行which repo找不到repo时需要安装 本文链接 http://blog.csdn.net/CSqingchen/article/details/78125769下载repo git clone https://github.com/android/tools_repo /git-repo添加repo到环境变量 s...

2017-09-28 17:03:47 5252

原创 Android使用MediaStore.ACTION_IMAGE_CAPTURE,拍照到指定目录

使用MediaStore.ACTION_IMAGE_CAPTURE,拍照到指定目录如果想拍完存在系统相机的默认目录可以通过如下方法,获取该图片的其他信息,比如ID等拍了一张照片,可是查Media数据库,查不到,可以试试如下

2017-09-20 09:36:43 11150

原创 安卓应用,在存储卡中,增加windows下文件的隐藏属性

在windows中文件可以勾选隐藏属性,是否可以在安卓的存储卡中默认新建此属性的文件呢?1. windows中勾选隐藏属性,实际执行的是`attrib +h FilePath`,因此2. Linux中默认文件隐藏效果,只需要在文件名前加"."3. 在JAVA1.7的Api中增加了设置文件隐藏的操作,4. 安卓是JAVA的,但是没有以上java.nio.file中的包,所以5. 总结

2016-09-09 01:21:28 1249

原创 Ubuntu 安装Git Server Gogs,配置commit邮件通知

1. 安装mysql和git2. 创建Gogit需要的数据库3. 下载最新的release版本4. 配置数据库5. 提交代码后,用multimail自动发送邮件

2016-09-02 17:46:32 951

原创 安卓获取状态栏(Status Bar)高度

方法一 直接使用24dp方法二 getDimensionPixelSize方法三 利用反射方法一在android6.0系统源码中,可以查到status_bar_height只有一个定值24dp, 因为可以直接使用24dp 源码参见文件./frameworks/base/core/res/res/values/dimens.xml方法二获取系统中”status_bar_height”的值,方法如下private int g...

2016-08-22 20:44:22 10636

原创 checkstyle安装、配置、使用

良好的代码格式方便阅读,利于多人维护,避免格式化代码后差异太多,目前android studio默认配置格式化后,基本满足我们的格式要求。下面是如何安装,配置checkstyle。android studio中安装eclipse中安装命令行中使用

2016-07-13 12:00:24 2116

原创 男人来自火星,女人来自金星(摘要)

第一章 男人和女人来自不同的星球第二章 修理先主与改善家庭委员会第三章 男人需要去他们的洞穴里,女人需要谈话第四章 如何鼓舞异性第五章 说不同的语言第六章 男人像橡皮筋第七章 女人像波浪第八章 男女不同的感情需求第九章 如何避免争论第十章 异性的记分第十一章 如何沟通困难的感觉第十二章 如何要求与获得支持第十三章 永浴爱河

2016-06-05 13:49:30 2819

原创 Ndk(jni)调用第三方的so库

本文主要讲述如何在jni中调用第三方共享so 源码地址:https://github.com/chenjim/thirdPartyJniSo 1. 生成第三方共享.so库 ,需要用 ndk-build 2. Eclipse中的使用3. Android studio中的使用

2016-06-02 18:49:01 5791

转载 android图形系统详解

本文只是一个传送门android图形系统详解一:Canvasandroid图形系统详解二:Drawablesandroid图形系统详解三:形状Drawable和九宫格android图形系统详解四:控制硬加速android图形系统详解五:Android绘制模式android图形系统详解六:View layer

2016-06-02 14:31:04 584

文件批量改名工具 Flexible_8.4

无需安装 解压即可使用 任何文件均可批量改名 支持子文件夹里面的文件改名

2013-03-15

SourceInsight35_0029

SourceInsight是一款非常好用的代码编辑器,适合C/C++或Java等程序语言的。 附注册码。 vesion:3.50.0029

2011-06-03

ultraEdit_15.0.0.11_amd64_for_ubuntu

ultraEdit_15.0.0.11_amd64_for_ubuntu 直接安装,ubuntu 14.04 100%免注册正常使用

2016-03-21

Jni调用第三方的so库

Jni调用第三方的so库; 博文地址:https://blog.csdn.net/csqingchen/article/details/51548839 内有详细的 eclipse和 android studio 源码使用说明

2015-04-24

空空如也

空空如也

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

TA关注的人 TA的粉丝

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