自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

周刚的专栏

相信,世上所有的苦难都只为成就那一个最好的你。

原创 android开发开源宝贝——持续更新。。。

http://www.androidbegin.com/category/tutorial/ http://code4app.com/ (IOS) http://a.code4app.com/

2013-11-19 19:46:03 4772 2

转载 Kotlin学习系列之:object关键字的使用场景

object是Kotlin中的一个重要的关键字,也是Java中没有的。object主要有以下三种使用场景: 对象声明(Object Declaration) 伴生对象(Companion Object) 对象表达式(Object Expression) 下面就一一介绍它们所表示的含义、用法以及注...

2020-05-15 18:18:27 25 0

转载 移动跨平台混合开发的总结

经常看到大家在一些技术群热火朝天的争论跨平台技术的牛逼之处,其实是毫无意义的,尺有所短寸有所长,每个技术各司其职,没有好坏之分。争论有何意义?我们倒不如来研究一下,这个跨平台技术适不适用以及性能和稳定性等方面的做个比较。 1 为什么需要跨平台? 在移动端刚出来那会儿,Android、iOS都...

2020-05-15 13:55:04 26 0

原创 了解cookie以及cookie跨站点伪造攻击(CSRF)

背景知识: 很久很久以前,Web基本上就是文档的浏览而已,既然是浏览,作为服务器,不需要纪录谁在某一段时间里浏览了什么 文档,每次请求都是一个新的Http协议,就是请求加响应,尤其是我不用记住是谁刚刚发了HTTP请求,每个请求对我 来说是全新的,这段时间很嗨皮。 但是,随着交互式Web应用的兴...

2020-05-15 11:27:23 123 0

转载 Android应用开发Android 常见的设计模式

Android应用开发Android 常见的设计模式 白羽2019-03-04来源 :网络阅读 227评论 0 摘要:本文将带你了解Android应用开发Android 常见的设计模式,希望本文对大家学Android有所帮助。 本文将带你了解Android应用开发Android 常见的设...

2020-04-24 17:24:07 50 0

转载 为什么要用ViewModel

ViewModel是用来存储UI相关的数据的,Activity在横竖屏变化的时候会被销毁,然后再重新创建,如果你把你的数据存储在Activity中,那么新建Activity的时候这些数据就没有了,用户就会很疑惑,屏幕旋转了下怎么界面的东西就没了?所以需要把界面相关的数据存储下来,下回接着用。使用V...

2020-04-23 14:05:38 80 0

原创 记录一个学习自定义ViewGroup的好例子

/***************************************************************************** * FlingViewGroup.java **********************************************...

2020-04-21 15:00:57 54 0

转载 全局Context无侵入式获取

当我们在使用第三方库,或者自己封装库,如果需要需要用到Context时,一般做法就是将初始化方法暴露给调用方,让调用方在初始化类库时,传入Context。 publi class App extends Application { /** * 是否是Debug环境 ...

2020-04-20 15:52:27 42 0

转载 字节跳动的适配方案原理及代码实现

字节跳动技术团队2018-05-25 每天叫醒你的不是闹钟,而是姿势 在Android开发中,由于Android碎片化严重,屏幕分辨率千奇百怪,而想要在各种分辨率的设备上显示基本一致的效果,适配成本越来越高。虽然Android官方提供了dp单位来适配,但其在各种奇怪分辨率下表现却不尽如人意...

2020-04-20 15:23:00 89 0

转载 从上帝视角看Android JetPack

前言 作为一名Android老司机,什么Square全家桶,Glide, 各种Bus, MVP,MVVM等等跟Android开发相关的主流的名词那都是如数家珍 。 很多时候我们吐槽,Android碎片化严重,Google爸爸又天高皇帝远,对国内的Android生态又心有余而力不足。国内的And...

2020-04-12 21:39:34 40 0

转载 LeakCanary原理解析

前几天面试,问到了我内存泄漏的相关问题,顺其自然问到了内存泄漏的检测工具LeakCanary的工作原理。当时不会,在看了几篇博文后,明白了其中的道理,理一下思路记录在此。 准备知识ReferenceQueue 引用队列,对于弱引用和软引用来说,若需要知道该引用是否已被GC回收,那么在构造Wea...

2020-04-04 12:55:52 41 0

原创 ffmpeg在Android上的第一个小实例

首先上一个图交代一下我的文件目录 : 需要说明的几点: 1.首先在Androidstudio上创建一个支持c++的项目。 2.我用的ffmpeg编译是那种编译成一个so文件的方式,不是那种对各个模块分别生成一个so的方式。 3.libffmpeg.so放在libs armeabi-v7...

2020-03-27 18:01:42 57 0

原创 ffmpeg学习的第一个小有成就的例子

#include <stdio.h> #include "stdafx.h" #include <iostream> #include <stdlib.h> #include<fstream> #define __STDC_CO...

2020-03-24 21:30:08 40 0

转载 误merge到master分支怎么样回滚

执行完merge操作后,没有修改代码 1、命令 ⑴ git reflog 查看merge操作的上一个提交记录的版本号 ⑵ git reset –hard 版本号 这样可以回滚到merge之前的状态 2、示例 误将dev合并到了master分支,现要回滚merge操作 ⑴ 首先git reflo...

2020-03-17 11:49:40 81 0

转载 Android滑动事件冲突案例及解决方案总结

前言 转载请声明,转自【https://www.cnblogs.com/andy-songwei/p/11072989.html】,谢谢! 前面两篇文章,花了很大篇幅讲解了Android的事件分发机制的原理性知识。然而,“纸上得来终觉浅,绝知此事要躬行”,前面讲的那些原理,也都是为...

2020-02-29 21:02:19 176 0

转载 Android的事件分发机制以及滑动冲突的解决

用一段伪代码来阐述上述三个方法的关系和点击事件传递规则 // 点击事件产生后,会直接调用dispatchTouchEvent分发方法 public boolean dispatchTouchEvent(MotionEvent ev) { //代表是否消耗事件 boolean c...

2020-02-29 20:39:37 106 0

转载 Android Intent 传递数据大小限制

Android Intent 传递数据大小限制 在sendBroadcast,startActivity时,我们会用到Intent。 Intent可以携带一些数据,比如基本类型数据int、Boolean,或是String,或是序列化对象,Parcelable与Serializable。 Int...

2020-02-29 12:50:07 81 0

转载 比较全的一个Android的UI像素尺寸工具类

import android.annotation.TargetApi; import android.app.Activity; import android.content.Context; import android.content.res.Configuration; import an...

2020-01-14 11:20:30 67 0

原创 音视频开发概念RGB和YUV

RGB和YUV RGB和YUV 多媒体编程 一、概念   1.什么是RGB? 对一种颜色进行编码的方法统称为“颜色空间”或“色域”。用最简单的话说,世界上任何一种颜色的“颜色空间”都可定义成一个固定的数字或变量。RGB(红、绿、蓝)只是众多颜色空间的一种。采用这种编码方法,每种颜色都可...

2020-01-13 11:36:25 73 0

原创 OpenGLES应用开发实践指南——OpenGLES2.0实战第一课

要用OpenGl ES在应用程序中绘制图像,首先你要创建与之对应的视图容器。 当中最直接的方法就是使用GLSurfaceView和GLSurfaceView.Renderer接口。 GLSurfaceView是OpenGL所绘制的图形的视图容器,而GLSurfaceView.Renderer控...

2020-01-10 13:59:54 89 0

原创 OpenGLES应用开发实践指南——初识OpenGLES

什么是OpenGL ES? OpenGL ES (为OpenGL for Embedded System的缩写)为适用于嵌入式系统的一个免费二维和三维图形库。 为桌面版本OpenGL 的一个子集。 OpenGL ES 定义了一个在移动平台上能够支持OpenGL最基本功能的精简标准,以适应...

2020-01-10 11:05:48 189 0

转载 Java中HashMap底层实现原理(JDK1.8)源码分析

Java中HashMap底层实现原理(JDK1.8)源码分析 这几天学习了HashMap的底层实现,但是发现好几个版本的,代码不一,而且看了Android包的HashMap和JDK中的HashMap的也不是一样,原来他们没有指定JDK版本,很多文章都是旧版本JDK1.6.JDK1.7的。现在我来...

2020-01-06 17:41:29 14 0

转载 全局变量gradle.properties文件的使用

一个项目中通常用多个module,要想多个module里通用一套配置变量,可以将它放在gradle.properties中设置 gradle.properties文件的使用 boyrt关注 0.3762018.04.13 16:28:38字数 271阅读 9,841 时间长了总是忘...

2020-01-02 11:15:43 534 0

转载 Android7.0以上通过FileProvider访问文件

写在前面 虽然这个出来好久了,之前也一直没有遇到什么问题,但是最近在不同app中共享的时候还是出了问题,现在引用鸿神的一篇文章来做说明,文章出处:Android 7.0 行为变更 通过FileProvider在应用间共享文件吧 一、概述 之前项目的新特性适配工作都是同事在做,一直没有怎么太...

2020-01-02 10:57:01 49 0

转载 Android10填坑适配指南

Android10填坑适配指南,实际经验代码,拒绝翻译 Android10填坑适配指南,包含实际经验代码,绝不照搬翻译文档 1.Region.Op相关异常:java.lang.IllegalArgumentException: Invalid Region.Op - only INTERSEC...

2020-01-02 10:21:32 149 0

转载 Android手机投屏到电脑示例

Android 投屏到电脑上,类似vysor。不需要网连数据线,延时小。原理是电脑上布一个socket.io服务器;手机通过socket.io连接到自己布置的局域网服务器,然后通过ImageRedaer不断截屏,将画片发送到局域网服务器。最后一步就是电脑的显示,服务器上获得手机传过来的Bitmap...

2019-12-31 14:11:26 112 0

转载 connectTimeOut和readTimeout怎么设置超时都很长

connectTimeOut和readTimeout 网络编程时,经常遇到很多timeout异常,下面是java URLConnection 中经典的2种timeout参数,这些参数设置不当的话,就会遇到timeout异常。 1. ConnectTimeout , java 是这样解释的。 ...

2019-12-27 17:28:15 233 0

转载 java.lang.NoClassDefFoundError: Failed resolution of: Lorg/apache/http/protocol/BasicHttpContext;

问题1:Failed resolution of: Lorg/apache/http/protocol/BasicHttpContext; 回答:这个问题主要是 部分厂商 9.0系统 裁剪了org.apache.http.legacy 库,例如华为, 在Google官方文档上查找到了原因,从 An...

2019-12-23 15:44:48 677 0

转载 Android中SystemServer,Zygote,ServiceManager三者之间的关系

看到android设备的进程列表,发现了好多个进程。但是回忆最近的android app开发,发现所有的相关处理和面试都是集中在systemServer中的,而关于zytote和ServiceManager的东西实际考察和使用较少。 突然想问自己,三者在android中的关系是怎样的。就这个问题...

2019-12-20 17:23:34 144 0

转载 图解Android - Binder 和 Service

随笔 - 9文章 - 0评论 - 57 图解Android - Binder 和 Service 在Zygote启动过程一文中我们说道,Zygote一生中最重要的一件事就是生下了 System Server 这个大儿子,System Server 担负着提供系统 Service的重任,在深入了...

2019-12-20 16:55:00 19 0

转载 SystemServer和Zygote的亲子关系

总结 Zygote和System Server的启动过程终 1. init 根据init.rc 运行 app_process, 并携带‘--zygote' 和 ’--startSystemServer' 参数。 2. AndroidRuntime.cpp::start()...

2019-12-20 16:40:16 31 0

转载 记录一下Android各种系统存储路径

1、Environment.getDataDirectory() = /data 这个方法是获取内部存储的根路径 2、getFilesDir().getAbsolutePath() = /data/user/0/packname/files 这个方法是获取某个应用在内部存储中的files路径 3、...

2019-12-19 17:28:12 44 0

转载 对SystemServer和ServiceManager两个进程的理解

背景 在Android系统中有很多内置的软件,例如,当手机接到来电时,会显示对方的电话号。也可以根据周围的环境将手机设置成震动或静音。如果想把这些功能加到自己的软件中应该怎么办呢?答案就是“系统服务”。在Android系统中提供了很多这种服务,通过这些服务,就可以像Android系统的内置软件一...

2019-12-18 16:14:28 89 0

转载 Android提供的系统Service大全

服务类别 system_server进程,从源码角度划分为引导服务、核心服务、其他服务3类。 以下这些系统服务的注册过程, 见Android系统服务的注册方式 引导服务(7个):ActivityManagerService、PowerManagerService、LightsService、D...

2019-12-18 15:07:13 23 0

转载 Zygote启动流程

Zygote启动过程的调用流程图: 解析init.zygote.rc中的参数,创建AppRuntime并调用AppRuntime.start()方法; 调用AndroidRuntime的startVM()方法创建虚拟机,再调用startReg()注册JNI函数; 通过JNI方式调用Zyg...

2019-12-18 14:52:10 15 0

转载 看看Zygote进程是怎么样fork出SystemServer进程的

private static boolean startSystemServer(String abiList, String socketName) throws MethodAndArgsCaller, RuntimeException { long capabilities = posi...

2019-12-18 14:27:18 70 0

原创 一张类图理解UML各种关系

类图的各种箭头,各种关系总是记了忘,忘了记,这次画个图再加深一下记忆: 聚合和组合是两种比较特殊的关联关系。补充如下: 1.继承 子类拥有超类的所有属性和行为 class A{} //B继承了A中的所有的方法和属性,对于私有的方法和属性,子类只能是拥有,但无法直接使用。 class B...

2019-12-18 11:51:46 25 0

原创 AIDL实现IPC代码实例

本例要实现的效果是两个app,client和server,客户端能调用server端的Service提供的方法。 本次示例分为客服端和服务器端,两端的代码目录如下: 服务器端代码目录: 客户端代码目录: 代码说明 --->服务器端代码: 首先,要创建一个AID...

2019-12-17 17:01:14 31 0

转载 Android Context详解

Activity mActivity =new Activity() 作为Android开发者,不知道你有没有思考过这个问题,Activity可以new吗?Android的应用程序开发采用JAVA语言,Activity本质上也是一个对象,那上面的写法有什么问题呢?估计很多人说不清道不明。Andr...

2019-12-17 10:29:18 20 0

原创 https理解之RSA加密解密

最近复习https的加密原理,一时兴起决定做个RSA加密解密的小例子,以加深理解: package com.example; import java.io.UnsupportedEncodingException; import java.security.InvalidKeyExceptio...

2019-12-16 09:59:26 48 0

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