android studio如何回到上一次代码浏览位置

两种方法 1.快捷键,alt+ctrl+左按键(返回上一次),alt+ctrl+右按键(前进)但是这样会非常麻烦 2.点击回退前进按钮,调出这个面板。双击shift全局搜索:tool 可以看到有一个show Main ToolBar这个按钮,使之处于ON状态就行,这样工具栏就调出来了 ...

2019-07-13 10:55:23

阅读数 2

评论数 0

如何获取java类的泛型参数

通过网上搜索找到一个办法: public static Class<?> analysisClazzInfo(Object object) { Type genType = object.getClass().getGenericSuperclass()...

2019-06-28 17:43:48

阅读数 5

评论数 0

使用dependiencies version checker查看某个依赖库的最新版本和历史版本

在Android Studio中有一个插件:Depencencies Version Checker 这个插件可以用来查看你的项目中使用到的依赖库的信息. 首先下载这个插件,在File | Settings | Plugins这个路径下去下载这个插件. 下载好之后,那么怎么打开这个插件呢?全局搜索...

2019-06-04 13:56:15

阅读数 28

评论数 0

repo下载单个仓库的代码

repo是用来管理许多仓库的一种工具,使用manifest文件进行管理,当我们仅仅想下载某一个仓库的代码如何做? 首先到.repo这个目录下找到manifest文件,查看需要下载的仓库名,然后repo sync -c 仓库名 这样就能下载单个仓库了 ...

2019-05-20 09:37:43

阅读数 22

评论数 0

如何使用android studio及夜神模拟器开发调试

先启动夜神模拟器,然后运行cmd命令,cd到夜神安装目录,执行命令:nox_adb.exe connect 127.0.0.1:62001 连接到模拟器;

2019-04-25 15:36:37

阅读数 14

评论数 0

ViewGroup事件的分发

ViewGroup事件分发的起点和View相同都是dispatchTouchEvent这个方法,只不过ViewGroup重写了View中的dispatchTouchEvent方法。 疑问: 1、ViewGroup如何把时间分发给子View? 2、若要ViewGroup不把任何时间分发给子Vi...

2019-04-15 11:53:39

阅读数 13

评论数 0

Android ThreadLocal类源码解读

ThreadLocal类用于线程私有数据的存储,比如每个线程都有各自的Looper,但是如何获取这个Looper呢? 使用的方法就是ThreadLocal这个类的特性,我们知道一个线程对应一个Thread对象,所以说Thread类中的数据都可以认为是线程的私有数据,前提是这个数据的引用不会扩展到...

2019-04-04 11:37:10

阅读数 21

评论数 0

插值器与估值器

在属性动画中对值的计算需要插值器和估值器的参与,这样能产生更加丰富的动画 一、插值器 插值器其实是变化快慢的一个衡量标准,根据时间流逝的比例,来得出属性值变化的比例,具体来看一下插值器 的源码: public interface TimeInterpolator { /** * Maps a v...

2019-04-03 21:46:42

阅读数 10

评论数 0

三种inflate方式的区别

在安卓开发中,经常要将一个xml布局文件inflate成一个view对象,用到的方法通常是三种: (1)View.inflate(Context context, int resource, ViewGroup root); (2)LayoutInflater.from(context).infl...

2019-03-28 00:52:58

阅读数 26

评论数 0

LayoutInflater参数的使用

LayoutInflater一个方法,原型为: public View inflate(XmlPullParser parser, ViewGroup root, boolean attachToRoot) 这个方法有两个重要的参数root和attachToRoot,那么这两个参数会影响什么...

2019-03-28 00:52:03

阅读数 20

评论数 0

View事件分发

本文只分析View的事件分发,不包括ViewGroup. 通常我们在程序中监听点击事件是使用view提供的两个接口: public void setOnTouchListener(OnTouchListener l) { getListenerInfo().mOnTouchL...

2019-03-20 15:41:23

阅读数 24

评论数 0

为什么requestDisallowInterceptTouchEvent方法会失效

requestDisallowInterceptTouchEvent方法是用来禁止或允许ViewGroup是否能拦截事件,通常用来处理滑动冲突.但如果在ViewGroup初始化之后就调用这个方法会发现这个方法并没有起到作用. 示例 class MyLayout extends LinearLa...

2019-03-20 14:32:43

阅读数 26

评论数 0

setContentView如何构建布局

我们在写安卓应用程序的时候经常要写这一句: setContentView(R.layout.activity_main); 这一句代表的含义就是将这个Activity的布局设置成指定文件资源,那么我们所看的界面是如何构建的呢?这就要从源码中去分析. Window DecorView ...

2019-03-19 10:13:36

阅读数 21

评论数 0

安卓Handler机制

Handler机制运用在安卓线程之间的消息传递。Handler之所以能够运行,得力于与Handler紧密相联的Looper,每一个线程都只能有一个Looper,一个Looper就可以看成一个事件执行者,Handler决定对事件做什么具体操作,所以一般继承了Handler就要重写其中的handleM...

2019-03-16 14:57:17

阅读数 62

评论数 0

View的layout过程

http://www.cnblogs.com/xyhuangjinfu/p/5435253.html

2019-03-13 15:27:52

阅读数 16

评论数 0

View的measure过程

问题概述 一个View想要展示到界面上要经过三个流程: measure过程,也就是确定View的长和宽 layout过程,确定View的位置 draw过程,将View绘制到界面上 本文首先介绍measure流程,measure从其字面意思就是测量的意思.也就是获取View的尺寸....

2019-03-13 10:43:29

阅读数 10

评论数 0

kobject和kset之间的关系

linux驱动是一个整体的设备模型,这个模型是以kobject和kset作为基石的,因此搞懂kset和kobject的内部运作关系才能很好的理解统一设备模型. 首先linux对设备的抽象就是将设备描述为一个文件节点,因为设备有属性,比如说亮度、颜色等。因此kobject也就有属性.有了属性还要有...

2019-02-23 14:15:58

阅读数 85

评论数 0

platform总线驱动的注册过程

平台驱动注册函数:platform_driver_register位于include\linux\platform_device.h #define platform_driver_register(drv) \ __platform_driver_register(drv, THIS_MO...

2019-02-22 15:20:06

阅读数 24

评论数 0

自定义一个softirq

本文章添加自己定义一个额外的软中断 首先添加软中断种类:MY_SOFTIRQ enum { HI_SOFTIRQ=0, TIMER_SOFTIRQ, NET_TX_SOFTIRQ, NET_RX_SOFTIRQ, BLOCK_SOFTIRQ, BLOCK_IOPOLL_SOFTIRQ,...

2019-02-20 22:21:09

阅读数 32

评论数 0

workqueue

workqueue相对于softirq和tasklet,最大的不同点是workqueue是运行于用户空间,因此可以执行“会睡眠的函数”,tasklet就不行了,因为tasklet处于中断上下文,中断上下文是不允许发生调度的. 理解workqueue的关键是三个结构体 //这个结构体是每个CPU都有...

2019-02-20 18:07:56

阅读数 27

评论数 0

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