自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Android 知识点整理

Java基础动态代理https://www.jianshu.com/p/95970b089360 Java注解https://blog.csdn.net/weixin_39821531/article/details/88787749 Java的四种引用 通过JNI调用三方SO库Android 知识点整理Windwos下使用清华下载android源码 图片加载 Glide...

2019-06-26 14:10:36 234

原创 android Room基础使用

今天开始Jetpack第一篇!因为正好要先用数据库,所以先看ROOM!这篇只是能跑起来的,基础中的基础,细节以后写!上!一、大概先了解ROOM主要对象为3类:用注解表示分别是:@Database、@Dao、@Entity各自代表,数据库、Dao对象,和实体对象(表);二、建个对象@Entitypublic class NotificationEntity {...

2020-04-14 16:38:31 473

原创 通过JNI调用三方SO库

1. 不管怎么样搞一个带C++的项目2. app路径下搞一个文件jniLibs放第三方so这个路径需要配置:地方在app下的build.gradleandroid { //... sourceSets { main { jniLibs.srcDirs = ['jniLibs'] } }}把so放...

2020-01-10 16:56:33 1687

原创 Java的四种引用

Java从1.2开始就有个不同引用的概念,废话不多说,直接上! 强引用(StrongReference) 软引用(SoftReference) 弱引用(WeakReference) 虚引用(PhantomReference) 强引用(StrongReference)在1.2之前,只有强引用,这种引用,简单来说就一个字,强!没有具体的类来标识强引用,我...

2019-12-19 11:32:15 248

原创 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 382

转载 性能优化

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 123

原创 MTKCamera1APP-Open

CameraApp Open流程:CameraActivity - onCreate CameraDeviceCtrl - openCamera在这里会把mCameraState设置为STATE_OPENING_CAMERA,默认是STATE_CAMERA_CLOSEDCameraStartUpThread - openCameraCameraStartUpThread是Camera...

2019-07-24 17:36:20 410

原创 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 1624

翻译 Android P CameraCaptureSession

CameraCaptureSessionpublic abstract class CameraCaptureSession extends Object implements AutoCloseable一个已配置好的CameraDevice的捕获会话,用于从相机捕获图像或重新处理先前在同一会话中从相机捕获的图像。CameraCaptureSession的创建时通过提供一组目标输出S...

2019-07-22 16:41:04 3277

原创 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 802

翻译 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 4654

翻译 Android P CameraDevice.StateCallback

CameraDevice.StateCallback用于接收有关摄像机设备状态的更新的回调对象。在调用CameraManager#openCamera方法时,必须提供此回调实例才能打开摄像机设备。这些状态更新包括有关设备完成启动(允许调用CameraDevice.createCaptureSession(SessionConfiguration)),设备断开或关闭以及有关意外设备错误的...

2019-07-15 11:17:55 3817

翻译 Android P CameraDevice

CameraDeviceCameraDevice类是连接到Android设备的单个摄像头的表示,允许以高帧速率对图像捕获和后处理进行细粒度控制。您的应用程序必须在其清单中声明Camera权限才能访问摄像头设备。给定的摄像机设备可以在CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL中定义的几个级别之一提供支持。如果设备支持Camera...

2019-07-13 08:30:49 1564

翻译 Android P CameraManager.TorchCallback

CameraManager.TorchCallback相机闪光灯手电筒模式变为不可用,禁用或启用的回调。当其所属的摄像机设备变得不可用或由于其他更高优先级的摄像机Activity而需要的其他摄像机资源变得繁忙时,手电筒模式变得不可用。 当手电筒关闭或其所属的摄像头设备不再使用且其所需的其他摄像头资源不再繁忙时,手电筒模式将被禁用。 当应用程序调用CameraManager.setTorch...

2019-07-11 14:23:12 877

翻译 Android P CameraManager.AvailabilityCallback

CameraManager.AvailabilityCallback相机设备变回可打开或无法打开的回调。当相机不再使用或连接新的可移动相机时,相机即可使用。 当某些应用程序或服务开始使用相机时,或者当可移动相机断开连接时,它们将变得不可用。扩展此回调并将子类的实例传递给CameraManager #registerAvailabilityCallback,以通知此类可用性更改。...

2019-07-11 13:42:29 1405

翻译 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 538

原创 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 125

原创 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 108

原创 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 2772

原创 Android P ActivityManagerService(七) TransactionExecutor消息机制

TransactionExecutor,在Activity启动代码的初期就有接触过;最后realStartActivityLocked中也有涉及;初看的时候会有些模糊;决定先整理一下TransactionExecutor相关的知识,既能熟悉源码,也能对自己的编码有所启示;主要相关代码都在frameworks\base\core\java\android\app\servertransact...

2019-04-29 15:14:09 2353

原创 初试ijkplayer

出于项目需要,做了一个基于ijkplayer的demo;ijkplayer是bilibili的一个开源项目;https://github.com/Bilibili/ijkplayer首先加入依赖:刚开始直接搜索ijkplayer,出来的东西不好用;后来改成直接引用下面的全称OK了; implementation 'tv.danmaku.ijk.media:ijkp...

2019-04-28 19:49:57 450

原创 Android P ActivityManagerService(六) startActivity的第四小部分

ActivityStarter中,生成ActivityRecord之后startActivity方法;private int startActivity(final ActivityRecord r, ActivityRecord sourceRecord, IVoiceInteractionSession voiceSession, IVoiceInteractor...

2019-04-25 14:45:33 611

原创 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 690

原创 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 519

原创 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 616

原创 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 360

原创 Android P ActivityManagerService(一) 初识

上层获取ActivityManager;ActivityManager manager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);熟悉系统服务的话,都知道getSystemService方法最后会调用到SystemServiceRegistry中;找到添加服务的代码;registerServic...

2019-04-17 10:49:45 632

原创 缓存 LruCache & DiskLruCache

LruCachehttps://www.cnblogs.com/huhx/p/useLruCache.htmlLruCache & DiskLruCachehttps://blog.csdn.net/pgg_cold/article/details/79457987立个Flag,有空写一下;

2019-04-16 18:53:58 78

原创 矢量图动画 AnimatedVectorDrawable

看文章后自己小结一下:https://blog.csdn.net/gitzzp/article/details/56289647矢量图动画的关键点:vector 矢量图 animated-vector 矢量图动画 objectAnimator 动画animated-vector的作用是连接vector(矢量图)和objectAnimator(动画)在Android...

2019-04-15 20:17:00 904

原创 帧动画 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 175

原创 指纹的简单使用

class MyCallBack extends FingerprintManager.AuthenticationCallback { boolean mSelfCancelled; private FingerprintManager fingerPrintManager; private CancellationSignal mCancellationSignal;...

2019-04-15 10:49:05 309

原创 ValueAnimator

ValueAnimator是之前提到过的ObjectAnimator的父类;它使用起来不像ObjectAnimator这么简单,但可控性更高,更能发挥想象力;一般来说,使用ValueAnimator需要通过以下几步;setObjectValues setEvaluator addUpdateListener setDuration startpublic void setOb...

2019-04-10 16:04:14 2511

原创 ObjectAnimator

先来个简单的例子ObjectAnimator.ofFloat(v, "rotationX", 0f, 360f) .setDuration(400).start();v:播放动画的View;rotationX:播放的方式;0f:起始值;360f:结束值;起始值和结束值之间可以添加中间状态;如播放组合动画中的示例;默认支持播放动画的列表rota...

2019-04-10 13:35:16 250

原创 RecyclerView GridLayoutManager列间距

GridLayout模式的时候,如果默认的列宽和比RecyclerView的容量小,那么就会每一列的右侧添加一个间距;这个间距会导致RecyclerView整体向左偏移的一个效果;要干掉这个偏移,大体可以通过以下3种手段:算好RecyclerView的容量大小(即,去掉padding等之后的实际宽度),然后设置列宽的和正好等于这个宽度; 把第一列以外的列往右移; 把整体往右移,然后...

2019-04-09 19:36:59 6905

原创 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 403

原创 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 518

原创 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 151

原创 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 852

原创 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 1298 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 161

空空如也

空空如也

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

TA关注的人

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