![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android进阶
文章平均质量分 85
GeneralAndroid
这个作者很懒,什么都没留下…
展开
-
Android进程详解
Android进程详解当一个应用启动的时候,如果这个应用没有其它组件已经在运行了,那么系统就会为这个应用启动一个新的Linux进程,这个进程只有一个线程,即我们熟知的main线程。默认情况下,一个应用的所有组件都运行在一个进程和线程(main)中。这点从Logcat的打印信息可以看出,Logcat视图中的Application那一栏,打印的是当前应用的进程的name值,而通常情况下是打原创 2014-12-10 21:26:48 · 2810 阅读 · 8 评论 -
Android BLE 总结-源码篇(BluetoothLeAdvertiser)
在做Android BLE的应用程序时,我们发出广播数据是调用BluetoothLeAdvertiser的startAdvertising方法,如下所示:mBluetoothLeAdvertiser.startAdvertising(advertiseSettings, advertiseData, myAdvertiseCallback);那么我打算写的BLE总结之原创 2017-09-12 19:24:17 · 8583 阅读 · 5 评论 -
Android BLE 总结-源码篇(深入理解startAdvertising的注册过程)
在上一篇的BluetoothLeAdvertiser的分析中讲到,startAdvertising的内部具体实现都是IBluetoothGatt的引用来去实现的,这篇文章我们一起来往深的一层去分析。这篇博文我们会弄清楚上文中以下几点:1.IBluetoothGatt的引用的到底是什么?2. mClientIf是如何生成的以及作用?先来看第一个问题——IBluetoothGa原创 2017-09-14 17:23:19 · 6898 阅读 · 0 评论 -
Android内核学习笔记—Binder分析
进程间通信——Binder概述Binder是Android中使用最广泛的IPC机制。如果统观Binder中的各个组成元素,就会惊奇地发现它和TCP/IP网络有很多相似之处: .Binder驱动——路由器.Service Manager——DNS.Binder Client——客户端.Binder Server——服务器Service Manager在Binder通信过程中的原创 2017-08-07 23:31:29 · 2885 阅读 · 0 评论 -
Dagger2从入门到放弃再到恍然大悟
原文出处:http://www.jianshu.com/p/39d1df6c877d现在Dagger2在项目里用的越来越多了,最近花了些时间学习了一下Dagger2,这篇文章主要帮助理解Dagger2的注入实现过程,如有错误,还请指正!什么是Dagger2Dagger2是Dagger的升级版,是一个依赖注入框架,现在由Google接手维护。 恩,这里有个关键字依赖注入,因此转载 2017-02-24 14:39:39 · 445 阅读 · 0 评论 -
Android中关于aar的一些知识
Android中关于aar的一些知识Android中的aar主要是针对于Android Library而言的,可以简单的理解为是对Android Library的打包,这个包的格式为.aar。首先说说我们为什么要使用aar,在项目的开发过程中,如果多个项目同时依赖一个Android Library,在Android Studio的开发环境下的配置还是比较麻烦的(当然eclipse这里忽略,因为很简单原创 2016-03-15 08:47:20 · 6996 阅读 · 2 评论 -
Android启动过程的相关学习
今天研究了一下Android的启动过程相关的知识,在这里记录与分享一下。我画了一个图用来理清顺序:原创 2016-03-17 09:39:20 · 754 阅读 · 0 评论 -
AndroidArticle
AndroidArticleThe repository is used to show how improve the level of Android skills.声明:该Repository主要用来分享好的博文与学习资料,希望能够对自己摸索学习Android的人有所帮助。如果你有兴趣可以一起参与进来,如果能够对你产生帮助欢迎star或fork。以后会不定期的在这里分享好的文章与学习资源。作为原创 2015-11-28 09:35:04 · 902 阅读 · 0 评论 -
利用DDMS 查看 分析线程阻塞
转载于:http://blog.csdn.net/lsdmx2016/article/details/17414407在实际应用中有可能出现如下场景,在Activity 中,新建后台线程(Thread,或者 AsyncTask) 处理网络请求或者其他耗时的工作,但是 主界面出现卡顿现象,ANR 等。有可能是主线程被阻塞。我们可以利用DDMS 来分析主线程和其他工作线程是否出现阻塞,并找出 阻塞转载 2015-11-11 10:07:36 · 2807 阅读 · 0 评论 -
Android动画之AnimatorSet如何循环执行
在写一个小动画时发现AnimatorSet没有setRepeatCount()与setRepeatMode()方法,但是动画效果又要求重复执行,这里提供的解决方法时:给动画集合中的子动画设置setRepeatCount(),想重复执行多少次动画就设置多少次,如果想无限循环,这里直接设置int的最大值应该就可以了(虽然感觉不是太好,但是正常情况下,一个动画也不会执行这么多次吧)。 O原创 2015-09-14 14:10:35 · 32120 阅读 · 3 评论 -
Android 使用android-support-multidex解决Dex超出方法数的限制问题,让你的应用不再爆棚
如有转载,请声明出处: 时之沙: http://blog.csdn.net/t12x3456 (来自时之沙的csdn博客) 随着应用不断迭代,业务线的扩展,应用越来越大(比如集成了各种第三方sdk或者公共支持的jar包,项目耦合性高,重复作用的类越来越多),相信很多人都遇到过如下的错误:[java] view plaincopy转载 2015-08-16 13:16:50 · 1089 阅读 · 0 评论 -
Android中与ViewRoot相关的一些概念
1、View和ViewRoot ViewRoot从名称上来理解似乎是“View树的根”,这很容易让人产生误解。因为ViewRoot并不属于View树的一份子。从源码实现上来看,ViewRoot和View对象并没有任何“血缘”关系,它既非View的子类,也非View的父类。ViewRoot可以被理解为“View树的管理者”——它有一个mView成员变量,指向的是它所管理的View树的根。咱们原创 2015-05-17 22:39:43 · 4176 阅读 · 1 评论 -
android NDK开发编译C++文件出现Type 'jint' could not be resolved和Unresolved inclusion: <jni.h>的解决办法
今天在编译android NDK工程的时候,在jni文件夹下的cpp文件中报了一大堆错误,诸如:Unresolved inclusion: 、Type 'jint' could not be resolved、Type 'jintArray' could not be resolved等,根据经验,这样的错误肯定是没有包含相应的头文件导致的。 解决方案:转载 2015-05-08 21:46:11 · 1374 阅读 · 0 评论 -
Android NDK 在eclipse中生成C/C++头文件
我们知道在Android NDK开发中,让原生函数名及参数列表与java类文件的原始定义一致是繁杂而多余的,因为JDK自带一个名为javah的命令行工具来执行任务,javah工具可以为原生方法解析Java类文件并生成由原生方法声明组成的头文件。但是在开发中如果来回切换命令终端的话,可以说是很繁琐的,今天的这篇博文就来阐述一下如何在eclipse中生成头文件。(1)打开Eclipse IDE,在原创 2015-04-18 01:19:48 · 2598 阅读 · 0 评论 -
Android NDK编写一个HelloWorld
在上一篇博文中,我们搭建好了Android ndk 的开发环境,作为码农,我们是不是先来写一个HelloWorld来表示一下自己的到来。(1)首先在你的工作空间建一个Android项目,这里我建立的为NDKHelloWorld。项目结构如图(1)、图(1)(2)在MainActivity中声明你所需要的本地方法,MainActivity的代码如下所示:package com原创 2015-04-06 22:12:51 · 1688 阅读 · 0 评论 -
Android中用JNI实现与原生代码通信
好久没搞NDK的东西了,第一次学习NDK还是14年的时候,最近又需要使用,所以复习一下。本篇笔记主要记录使用Java原生接口技术实现Java应用程序和原生代码之间通信JNI是Java程序设计语言功能最强的特征,它允许Java类的某些方法原生实现,同时让它们能够像普通Java方法一样被调用和使用。这些原生方法也可以使用Java对象,使用方法与Java代码使用Java对象的方法相同。原生方法可以创建新...原创 2018-05-26 14:04:47 · 1419 阅读 · 0 评论