- 博客(119)
- 收藏
- 关注

原创 Android 知识点整理
Java基础动态代理https://www.jianshu.com/p/95970b089360 Java注解https://blog.youkuaiyun.com/weixin_39821531/article/details/88787749 Java的四种引用 通过JNI调用三方SO库Android 知识点整理Windwos下使用清华下载android源码 图片加载 Glide...
2019-06-26 14:10:36
270
原创 android Room基础使用
今天开始Jetpack第一篇!因为正好要先用数据库,所以先看ROOM!这篇只是能跑起来的,基础中的基础,细节以后写!上!一、大概先了解ROOM主要对象为3类:用注解表示分别是:@Database、@Dao、@Entity各自代表,数据库、Dao对象,和实体对象(表);二、建个对象@Entitypublic class NotificationEntity {...
2020-04-14 16:38:31
543
原创 通过JNI调用三方SO库
1. 不管怎么样搞一个带C++的项目2. app路径下搞一个文件jniLibs放第三方so这个路径需要配置:地方在app下的build.gradleandroid { //... sourceSets { main { jniLibs.srcDirs = ['jniLibs'] } }}把so放...
2020-01-10 16:56:33
1800
原创 Java的四种引用
Java从1.2开始就有个不同引用的概念,废话不多说,直接上! 强引用(StrongReference) 软引用(SoftReference) 弱引用(WeakReference) 虚引用(PhantomReference) 强引用(StrongReference)在1.2之前,只有强引用,这种引用,简单来说就一个字,强!没有具体的类来标识强引用,我...
2019-12-19 11:32:15
310
原创 android源码下载-Windwos下使用清华镜像
本人只需要部分源码做分析就研究,所以只下载了一部分,全部的没有下载过不多废话直接上步骤:1. 按照githttps://www.runoob.com/git/git-tutorial.html2. 安装pythonhttps://www.runoob.com/python/python-tutorial.html3. 下载repo 找个合适的路径,如E:\progra...
2019-12-05 13:40:45
428
转载 性能优化
APP性能优化之内存优化https://www.imooc.com/learn/777Android性能优化之布局优化https://www.imooc.com/learn/1030Android性能优化之图片优化https://www.imooc.com/learn/1060...
2019-07-25 10:26:13
155
原创 MTKCamera1APP-Open
CameraApp Open流程:CameraActivity - onCreate CameraDeviceCtrl - openCamera在这里会把mCameraState设置为STATE_OPENING_CAMERA,默认是STATE_CAMERA_CLOSEDCameraStartUpThread - openCameraCameraStartUpThread是Camera...
2019-07-24 17:36:20
463
原创 Android P Camera2的粗略整理
Android Camera目前的整体架构很清晰的,主要分为以下几块:Camera APP代码在packages/apps/Camera2/目录下是Camera的上层应用端,自己写Camera App的话,可以借鉴此部分代码Camera Framework API这部分是提供给上层APP调用的API代码在frameworks/base/core/java/android/ha...
2019-07-23 17:02:02
1776
翻译 Android P CameraCaptureSession
CameraCaptureSessionpublic abstract class CameraCaptureSession extends Object implements AutoCloseable一个已配置好的CameraDevice的捕获会话,用于从相机捕获图像或重新处理先前在同一会话中从相机捕获的图像。CameraCaptureSession的创建时通过提供一组目标输出S...
2019-07-22 16:41:04
3418
原创 Android P Camera2 代码路径
Camera代码路径 App packages/apps/Camera2/应用层代码,可以模仿此App进行Camera开发 Camera2 Framework frameworks/base/core/java/android/hardware/camera2/对应用层提供的API,包含CameraManager、CameraDevice、CameraCaptureSe...
2019-07-18 11:28:56
864
翻译 Android P Camera2中CaptureRequest的3A设置
Camera2中CaptureRequest的3A设置 自动曝光 自动曝光在日常使用中算是比较常用的功能了,CameraCharacteristics#FLASH_INFO_AVAILABLE特性为TRUE的设备支持对自动曝光(AE)模式的设置。属性名称:CaptureRequest.CONTROL_AE_MODE属性值:OFF:相机设备被禁用自动曝光程序。ON:相机...
2019-07-16 15:05:10
5001
翻译 Android P CameraDevice.StateCallback
CameraDevice.StateCallback用于接收有关摄像机设备状态的更新的回调对象。在调用CameraManager#openCamera方法时,必须提供此回调实例才能打开摄像机设备。这些状态更新包括有关设备完成启动(允许调用CameraDevice.createCaptureSession(SessionConfiguration)),设备断开或关闭以及有关意外设备错误的...
2019-07-15 11:17:55
4183
翻译 Android P CameraDevice
CameraDeviceCameraDevice类是连接到Android设备的单个摄像头的表示,允许以高帧速率对图像捕获和后处理进行细粒度控制。您的应用程序必须在其清单中声明Camera权限才能访问摄像头设备。给定的摄像机设备可以在CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL中定义的几个级别之一提供支持。如果设备支持Camera...
2019-07-13 08:30:49
1717
翻译 Android P CameraManager.TorchCallback
CameraManager.TorchCallback相机闪光灯手电筒模式变为不可用,禁用或启用的回调。当其所属的摄像机设备变得不可用或由于其他更高优先级的摄像机Activity而需要的其他摄像机资源变得繁忙时,手电筒模式变得不可用。 当手电筒关闭或其所属的摄像头设备不再使用且其所需的其他摄像头资源不再繁忙时,手电筒模式将被禁用。 当应用程序调用CameraManager.setTorch...
2019-07-11 14:23:12
968
翻译 Android P CameraManager.AvailabilityCallback
CameraManager.AvailabilityCallback相机设备变回可打开或无法打开的回调。当相机不再使用或连接新的可移动相机时,相机即可使用。 当某些应用程序或服务开始使用相机时,或者当可移动相机断开连接时,它们将变得不可用。扩展此回调并将子类的实例传递给CameraManager #registerAvailabilityCallback,以通知此类可用性更改。...
2019-07-11 13:42:29
1556
翻译 Android P CameraManager
CameraManager:是用来检测、特征化、连接CameraDevice的一个系统服务;/frameworks/base/core/java/android/hardware/camera2/CameraManager.javaCameraManager的获取方法:和其他熟知的系统服务一样,CameraManager在frameworks/base/core/java/...
2019-07-02 21:50:58
579
原创 Tomcat部署项目的方式
1. 直接部署将项目文件夹直接到webapps目录下2. 简化部署:将项目打成一个WAR包,再将WAR包放置到webapps目录下 AR包会自动解压缩3. 配置conf/server.xml文件在Host标签体中添加配置: <Context docBase="MyTestProject" path="/MyTestProject"/> 其中path属性对应的MyT...
2019-05-23 17:03:50
159
原创 Web学习整理
JAVAhttps://www.runoob.com/java/java-tutorial.htmlIDEhttps://www.eclipse.org/HTMLhttps://www.runoob.com/html/html-intro.htmlCSShttps://www.runoob.com/css/css-tutorial.htmlJavaScript...
2019-05-23 14:39:36
136
原创 Android P ActivityManagerService(八) 从Recent启动Activity
startActivity之外,从Recent界面启动Activity也是应用启动的一个重要方式;而这一切都是从RecentView.java的startTaskActivity方法开始的;/** * Starts the activity for the launch task. * * @param taskView this is the {@link TaskView} t...
2019-05-08 13:37:56
2907
原创 Android P ActivityManagerService(七) TransactionExecutor消息机制
TransactionExecutor,在Activity启动代码的初期就有接触过;最后realStartActivityLocked中也有涉及;初看的时候会有些模糊;决定先整理一下TransactionExecutor相关的知识,既能熟悉源码,也能对自己的编码有所启示;主要相关代码都在frameworks\base\core\java\android\app\servertransact...
2019-04-29 15:14:09
2546
原创 初试ijkplayer
出于项目需要,做了一个基于ijkplayer的demo;ijkplayer是bilibili的一个开源项目;https://github.com/Bilibili/ijkplayer首先加入依赖:刚开始直接搜索ijkplayer,出来的东西不好用;后来改成直接引用下面的全称OK了; implementation 'tv.danmaku.ijk.media:ijkp...
2019-04-28 19:49:57
565
原创 Android P ActivityManagerService(六) startActivity的第四小部分
ActivityStarter中,生成ActivityRecord之后startActivity方法;private int startActivity(final ActivityRecord r, ActivityRecord sourceRecord, IVoiceInteractionSession voiceSession, IVoiceInteractor...
2019-04-25 14:45:33
647
原创 Android P ActivityManagerService(五) startActivity的第三小部分
ActivityStarter中的startActivity方法;这是一个有300行长度方法;总体是这样的;private int startActivity(IApplicationThread caller, Intent intent, Intent ephemeralIntent, String resolvedType, ActivityInfo aInfo, Re...
2019-04-23 11:18:49
770
原创 Android P ActivityManagerService(四) startActivity的第二小部分
下面是启动Activity进入AMS之后的部分流程;int result = ActivityManager.getService() .startActivity(whoThread, who.getBasePackageName(), intent, intent.resolveTypeIfNeeded(who.getContentReso...
2019-04-22 13:54:15
563
原创 Android P ActivityManagerService(三) startActivity的第一小部分
从Activity的启动流程来窥探AMS;由于启动流程比较长,准备拆分之后细细品尝;Activity.java中的startActivity;@Overridepublic void startActivity(Intent intent) { this.startActivity(intent, null);}@Overridepublic void startA...
2019-04-18 17:46:17
680
原创 Android P ActivityManagerService(二) 初始化
系统服务器的初始化都在SystemServer;就从SystemServer的main方法开始;/** * The main entry point from zygote. */public static void main(String[] args) { new SystemServer().run();}简单明了的调用了内部run方法;run看着像启动线程,然而这...
2019-04-17 14:48:19
395
原创 Android P ActivityManagerService(一) 初识
上层获取ActivityManager;ActivityManager manager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);熟悉系统服务的话,都知道getSystemService方法最后会调用到SystemServiceRegistry中;找到添加服务的代码;registerServic...
2019-04-17 10:49:45
673
原创 缓存 LruCache & DiskLruCache
LruCachehttps://www.cnblogs.com/huhx/p/useLruCache.htmlLruCache & DiskLruCachehttps://blog.youkuaiyun.com/pgg_cold/article/details/79457987立个Flag,有空写一下;
2019-04-16 18:53:58
100
原创 矢量图动画 AnimatedVectorDrawable
看文章后自己小结一下:https://blog.youkuaiyun.com/gitzzp/article/details/56289647矢量图动画的关键点:vector 矢量图 animated-vector 矢量图动画 objectAnimator 动画animated-vector的作用是连接vector(矢量图)和objectAnimator(动画)在Android...
2019-04-15 20:17:00
956
原创 帧动画 AnimationDrawable
帧动画是一种简单粗暴的动画;一串图片按照一定的间隔轮流上阵就完事儿了;在drawable中可以这样的定义;<?xml version="1.0" encoding="utf-8"?><animation-list xmlns:android="http://schemas.android.com/apk/res/android"> <item ...
2019-04-15 11:36:44
217
原创 指纹的简单使用
class MyCallBack extends FingerprintManager.AuthenticationCallback { boolean mSelfCancelled; private FingerprintManager fingerPrintManager; private CancellationSignal mCancellationSignal;...
2019-04-15 10:49:05
357
原创 ValueAnimator
ValueAnimator是之前提到过的ObjectAnimator的父类;它使用起来不像ObjectAnimator这么简单,但可控性更高,更能发挥想象力;一般来说,使用ValueAnimator需要通过以下几步;setObjectValues setEvaluator addUpdateListener setDuration startpublic void setOb...
2019-04-10 16:04:14
2585
原创 ObjectAnimator
先来个简单的例子ObjectAnimator.ofFloat(v, "rotationX", 0f, 360f) .setDuration(400).start();v:播放动画的View;rotationX:播放的方式;0f:起始值;360f:结束值;起始值和结束值之间可以添加中间状态;如播放组合动画中的示例;默认支持播放动画的列表rota...
2019-04-10 13:35:16
301
原创 RecyclerView GridLayoutManager列间距
GridLayout模式的时候,如果默认的列宽和比RecyclerView的容量小,那么就会每一列的右侧添加一个间距;这个间距会导致RecyclerView整体向左偏移的一个效果;要干掉这个偏移,大体可以通过以下3种手段:算好RecyclerView的容量大小(即,去掉padding等之后的实际宽度),然后设置列宽的和正好等于这个宽度; 把第一列以外的列往右移; 把整体往右移,然后...
2019-04-09 19:36:59
7022
原创 Utils工具类整理
DP/PX互转 public static int dpToPx(int dp) { return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dp, Resources.getSystem().getDisplayMetrics()); } public static in...
2019-04-09 17:25:50
453
原创 Switch控件
修改Switch样式用于修改全局Switch样式,如果要改单个的,可以单独引用主题;一、 在style中定义Switch样式<style name="SwitchStyle" parent="@style/Widget.AppCompat.CompoundButton.Switch"> <item name="android:showText">fal...
2019-04-08 14:36:16
575
原创 Retrofit + Rxandroid
Retrofit提供了相关的接口;库implementation 'com.squareup.retrofit2:adapter-rxjava2:2.5.0'修改Retrofit实例Retrofit retrofit = new Retrofit.Builder() .addConverterFactory(GsonConverterFactory.create...
2019-04-01 17:23:34
176
原创 Retrofit2简单使用
好处解耦好 可配置度高 速度快库implementation 'com.squareup.retrofit2:retrofit:2.5.0'implementation 'com.squareup.okhttp3:okhttp:3.14.0'权限<uses-permission android:name="android.permission.INTERNET"/...
2019-04-01 16:21:32
921
原创 Rxandroid2.0 使用记录
简单记录一些基础知识和使用方法,目标——简单!能用!Github地址:https://github.com/ReactiveX/RxJavahttps://github.com/ReactiveX/RxAndroid依赖库:implementation 'io.reactivex.rxjava2:rxjava:2.2.2'implementation 'io.rea...
2019-03-29 17:22:02
1376
1
原创 adb
1. 查找包名对应的APK adb shell "pm list packages -f | grep [包名]" 如,adb shell "pm list packages -f | grep com.android.ctsmode" adb shell "pm list packages -f" > D:\1.log2. 启动activity adb...
2019-03-28 17:05:45
216
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人