8 sky1203850702

尚未进行身份认证

所有的好走的路都是下坡

等级
TA的排名 1w+

Android permission权限详解

权限是一种安全机制。Android权限主要用于限制应用程序内部某些具有限制性特性的功能使用以及应用程序之间的组件访问。在Android开发中,基本上都会遇到联网的需求,我们知道都需要加上联网所需要的权限:<uses-permission android:name="android.permission.INTERNET" />实际上,在开发过程中,当我们使用了某...

2020-04-16 16:22:59

linux shell 字符串中指定字符替换

#Echo “2006-11-21 22:16:30” | sed ‘s/-//g’ | sed ‘s/ //g’ | sed ‘s/://g’得到的结果就是:20061121221630$text=" 123 456 "# 这个写法,保证了得到正确的结果。text=`echo $text | sed -e 's/^[ \t]*//g'`# 这些方法没有测试,写法参照上面的...

2020-04-09 20:27:45

java线程池ThreadPoolExecutor类使用详解

转自:https://www.cnblogs.com/dafanjoy/p/9729358.html在《阿里巴巴java开发手册》中指出了线程资源必须通过线程池提供,不允许在应用中自行显示的创建线程,这样一方面是线程的创建更加规范,可以合理控制开辟线程的数量;另一方面线程的细节管理交给线程池处理,优化了资源的开销。而线程池不允许使用Executors去创建,而要通过ThreadPoolExec...

2019-08-20 15:55:49

Java.util.concurrent之 Executor框架与线程池

Executor的继承树关系:Executor框架是java 5 中引入的,内部使用了线程池机制。Executor框架包括:Executor, ExecutorService,Executors,ThreadPoolExecutor等。Executor ——接口public interface Executor { void execute (Runnable command...

2019-08-20 10:39:28

Android中关于屏幕的三个小众知识(宽屏适配、禁止截屏和保持屏幕常亮)

转自:https://www.jb51.net/article/129633.htm前言宽屏适配、禁止截屏和保持屏幕常亮,这三个与屏幕有关的 Android 开发小众知识,说不定什么时候就派上用场。宽屏适配Android的屏幕适配一直以来都在折磨着我们Android开发者,越来越多的手机厂商趋向于全面屏设计,比如今年出厂的 18.5:9 屏幕比例的三星 Galaxy S8 手机,前...

2019-07-11 10:11:36

android eventbust使用详解

转自:https://www.jianshu.com/p/e7d5c7bda7831、EventBus 简介EventBus是一种用于Android的事件发布-订阅总线,由GreenRobot开发,Gihub地址是:EventBus。它简化了应用程序内各个组件之间进行通信的复杂度,尤其是碎片之间进行通信的问题,可以避免由于使用广播通信而带来的诸多不便。1.1 三个角色Event:事...

2019-06-21 14:21:26

Android 匿名共享内存C接口分析

转自:https://blog.csdn.net/yangwen123/article/details/11757487在Android 匿名共享内存驱动源码分析中详细分析了匿名共享内存在Linux内核空间的实现,虽然内核空间实现了匿名共享内存,但仍然需要在用户空间为用户使用匿名共享内存提供访问接口。Android系统在用户空间,C++应用程序框架层,Java层分别提供了访问接口本文首...

2019-05-31 16:23:54

Android 匿名共享内存C++接口分析

转自:https://blog.csdn.net/yangwen123/article/details/11768329在上一篇Android 匿名共享内存C接口分析中介绍了Android系统的匿名共享内存C语言访问接口,本文在前文的基础上继续介绍Android系统的匿名共享内存提供的C++访问接口。在C++层通过引入Binder进程间通信机制可以实现跨进程访问匿名共享内存。我们知道Andro...

2019-05-31 16:04:56

Android 匿名共享内存Java接口分析

转自:https://blog.csdn.net/yangwen123/article/details/9319773在Android 匿名共享内存驱动源码分析中介绍了匿名共享内存的驱动实现过程,本文在Android匿名共享内存驱动基础上,介绍Android匿名共享内存对外Android系统的匿名共享内存子系统的主体是以驱动程序的形式实现在内核空间的,同时在应用程序框架层提供了Java调用接口...

2019-05-31 15:19:51

android 共享内存(ShareMemory)的实现

转自:https://www.jianshu.com/p/ed87b12dfe0dAndroid 几种进程通信方式跨进程通信要求把方法调用及其数据分解至操作系统可以识别的程度,并将其从本地进程和地址空间传输至远程进程和地址空间,然后在远程进程中重新组装并执行该调用。然后,返回值将沿相反方向传输回来。Android 为我们提供了以下几种进程通信机制(供开发者使用的进程通信 API)对...

2019-05-31 14:45:39

Android匿名共享内存(Ashmem)原理

转自:https://www.jianshu.com/p/d9bc9c668ba6阅读之前,不妨先思考一个问题,在Android系统中,APP端View视图的数据是如何传递SurfaceFlinger服务的呢?View绘制的数据最终是按照一帧一帧显示到屏幕的,而每一帧都会占用一定的存储空间,在APP端执行draw的时候,数据很明显是要绘制到APP的进程空间,但是视图窗口要经过SurfaceFl...

2019-05-31 11:16:23

Android:Camera2开发详解(上):实现预览、拍照、保存照片等功能

转自:https://www.jianshu.com/p/0ea5e201260f前言在前几篇文章中介绍了如何调用系统相机拍照和使用Camera1的实现自定义相机拍照、人脸检测等功能文章传送门:Android:调用系统相机实现拍照+裁切(兼容7.0以上系统) Android: Camera相机开发详解(上) —— 知识储备 Android: Camera相机开发详解(中) ——...

2019-05-31 10:12:30

Android: Camera相机开发详解(上) —— 知识储备

转自:https://www.jianshu.com/p/f8d0d1467584前言 上一篇文章介绍了如何调用系统相机进行拍照裁剪等功能,一般情况下这些已经能满足我们的需求了。但是在有些场景和特殊需求下,比如要进行人脸检测、要不间断地抓取多张照片等等,那就需要使用原生Camera来进行开发啦 这里并不打算讲如何用代码去实现,而是先给小伙们介绍相关的知识点,等对这些知识有了大致...

2019-05-31 10:10:13

EventBus源码详解

转自:https://www.jianshu.com/p/6da03454f75a在进入主题之前,我们先保持着这样几个疑问,EventBus的使用三要素里,我们为什么要去定义事件方法,并且用到了@subscribe()注解? EventBus.getDefault().register(Object)这行代码到底干了什么?发送事件的时候又做了哪些操作?为什么要在onDestory()做解除绑定...

2019-04-29 20:17:59

EventBus 3.0使用详解

转自:https://www.jianshu.com/p/f9ae5691e1bb01 前言当我们进行项目开发的时候,往往是需要应用程序的各组件、组件与后台线程间进行通信,比如在子线程中进行请求数据,当数据请求完毕后通过Handler或者是广播通知UI,而两个Fragment之家可以通过Listener进行通信等等。当我们的项目越来越复杂,使用Intent、Handler、Broadca...

2019-04-29 18:22:25

HashMap、Hashtable、ConcurrentHashMap的原理与区别

转自:https://www.cnblogs.com/heyonggang/p/9112731.html下面直接来干货,先说这三个Map的区别:HashTable底层数组+链表实现,无论key还是value都不能为null,线程安全,实现线程安全的方式是在修改数据时锁住整个HashTable,效率低,ConcurrentHashMap做了相关优化 初始size为11,扩容:newsi...

2019-04-08 20:11:28

Android中用到的MVP模式

转自:https://blog.csdn.net/weixin_28774815/article/details/80960779MVP:View不直接与Model进行交互,而是通过presenter来与Model交互,来达成的一种间接交互。presenter与View的交互是通过接口来进行的,更有利于添加单元测试通常View与Precenter是一对一的,但是复杂的view可以绑定多...

2019-04-08 18:09:07

Android 设计模式之MVC,从一个实例中来理解MVC

转自:https://blog.csdn.net/qq_36510659/article/details/79073021MVC的介绍MVC是Model-View-Controller的简称Model:模型层,负责处理数据的加载或者存储View:视图层,负责界面数据的展示,与用户进行交互Controller:控制器层,负责逻辑业务的处理那我们为什么要用到MVC模式呢?1...

2019-04-08 17:45:19

基于Proxy思想的Android插件框架

转自:http://www.cnblogs.com/yxwkf/p/5196235.html意义研究插件框架的意义在于下面几点:减小安装包的体积,通过网络选择性地进行插件下发 模块化升级。减小网络流量 静默升级,用户无感知情况下进行升级 解决低版本号机型方法数超限导致无法安装的问题 代码解耦现状Android中关于插件框架的技术已经有过不少讨论和实现。插件通常打包成apk...

2019-04-04 18:42:51

Android应用架构之MVVM模式

转自:https://blog.csdn.net/u012317510/article/details/80247756早期的Android应用开发中,Activity/Fragment承担了过多的职责,它们不仅负责了应用界面的显示,而且负责了业务逻辑的处理。这样一来,Activity/Fragment很容易就变得臃肿、复杂,造成应用难以测试、维护和扩展。随着Android应用开发技术的不断发...

2019-04-04 16:40:09

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。