android
文章平均质量分 81
小小巴
这个作者很懒,什么都没留下…
展开
-
震惊!java竟然catch不到异常?
震惊!Java竟然catch不到异常?Bug引入分析外围Try Catch分析通过模拟复现场景通过源码进行分析InflateException通过源码进行分析InvocationTargetException通过native源码进行分析InvocationTargetException通过native源码进行分析OutOfMemoryError总结Bug引入分析程序员的生活就是每天在挖坑,填坑...原创 2019-10-28 17:42:57 · 3187 阅读 · 0 评论 -
Android多进程应用
Android多进程应用通常情况下,当应用启动后,将会运行进程名为AndroidManifest.xml文件中指定的应用包名,所有的基本组件都会在这个进程中运行,但是我们可以通过在AndroidManifest.xml中指定android :process 来指定该组件(例如activity,service)会运行在一个独立的进程中。我们知道当每一个应用启动的时候,Android 系统会为应用启动一原创 2017-09-17 19:00:48 · 439 阅读 · 0 评论 -
Android 一个简单的adil例子
adil,跨进程通信,一个简单的例子,来理解一下adil。创建一个项目,名字随意,既然要跨进程,我们就创建一个service ,依照onprocess方法让他运行在一个单独的线程中 <service android:process=":service_new" android:name=".RemoteService" andr原创 2017-09-19 18:36:33 · 689 阅读 · 0 评论 -
android lru缓存 辅助类LruCache源码解析
android lru缓存 辅助类LruCache 使用和解析有一段日子没有写博客了,放假的时候事情挺多的,最近又在啃android,以前写listview,或者其他图片显示过大总会发生oom的错误,找了点时间去看了android对于LruCache的支持,记录一下。LruCache 缓存到底是什么,LRU是Least Recently Used 的缩写,翻译过来就是“最近最少使用”,L原创 2017-08-30 20:53:25 · 471 阅读 · 0 评论 -
Android lanunmode
Android lanunmode继续上次的模拟面试的查漏补缺, Android 的lanunmode,也就是Android的启动模式。 activity的启动模式一共有四种1.standard 2.singleTop 3.singleTask 4.singleInstance通过在Mainfest种指定,或者设定intent的启动模式都可以更改lanunmode。st原创 2017-10-24 13:11:55 · 322 阅读 · 0 评论 -
Android Handler机制和ThreadLocal的应用
Android Handler机制和ThreadLocal的应用 Handlerhandler是Google参考了windows的消息机制处理机制,在Android系统中实现的一套类似的消息处理机制。相信大家在平时使用的时候都有过,thread+handler的使用经历,handler作为将信息回调回主线程的工具,为我们更新ui线程的数据信息提供了可能。Handler,Mess原创 2018-01-04 17:50:39 · 624 阅读 · 0 评论 -
通过Android studio 3.0.1监测内存泄露
通过Android studio 3.0.1监测内存泄露内存泄露在java中有gc垃圾回收机制,但是由于我们在编写代码的时候,变量申请内存后,但是一直得不到回收的时候,就会产生内存泄露。Android studio 3.0.1监测内存泄露本文主要通过Android studio 3.0.1工具来进行内存泄露的检测。先编写如下例子。public原创 2018-01-05 11:45:33 · 2453 阅读 · 0 评论 -
Android gradle解析
Android gradle解析相信接触了Android studio的都对gradle构建模式不陌生,刚开始的时候只是照着网上的配置,在build.gradle中配置,但是为什么,还是一头雾水,这里来通过具体的项目查看一下Android的gradle机制。gradle是什么gradle是目前Android主流的编译工具,和Android studio关系密切,虽然目前还出现了一原创 2018-01-06 15:19:47 · 365 阅读 · 0 评论 -
Okhttp3 源码解析(异步同步请求)
Okhttp3 源码解析(异步同步请求)本篇主要通过代码流程对Okhttp3的请求流程进行分析。相信okhttp3使用大家都已经掌握,这里就不再赘述。 基于okhttp3.9.1。同步请求实例:OkHttpClient client=new OkHttpClient(); //实例化一个OkHttpClient //Request request= n原创 2018-01-23 15:14:29 · 1243 阅读 · 0 评论 -
Android AsyncTask源码解析
Android AsyncTask源码解析AsyncTask是一个google为开发者提供的一个实现的一个轻量级的类库。 AsyncTask是一个虚类,所以我们必须实现其中的doInBackground()方法。初始话的时候需要实现如下的泛型方法。public abstract class AsyncTask<Params, Progress, Result>Pa...原创 2018-02-26 16:43:23 · 368 阅读 · 0 评论 -
Android activity的生命周期 详述 以及fragment嵌套周期
Android activity的生命周期 详述 以及fragment嵌套周期说到activity生命周期,也是基础中的基础,上次模拟面试就问到这个,尴尬的是竟然忘了,抽个时间好好的复习一下贴一张网上找的图 oncreatactivity的创建函数,这个时候activity还不可见,可以将activity的初始化函数放在这里。onstart当oncreat执行后会执行...原创 2017-10-24 11:08:24 · 1376 阅读 · 0 评论 -
Android react native windows常见问题
今天也在windows上面配置了react native ,将遇到的问题记录一下。 按着react native中文网 的步骤一步一步来的前面没有遇到什么问题 安装pyson,安装nodejs,创建项目,连接手机,在执行run的操作时候,出现了下面的错误1down votefavoriteMy android gradle build fails with a helpful erro原创 2017-09-08 21:58:00 · 289 阅读 · 0 评论 -
Android Scroller分析
这几天也是在学习一个Scroler类,在学习的时候也是有很多的困惑,这里记录一下自己的学习情况。先贴上网上找的代码public class HorizontalFlingLayout extends LinearLayout { private Scroller mScroller; private View mLeftView; private View mRightView原创 2017-09-08 17:15:54 · 236 阅读 · 0 评论 -
关于android studio ndk Error:(115) *** Android NDK: Aborting . Stop.错误
最近开始学习ndk,上网找博客,一篇一篇的找,挨着挨着敲,但是最后的rebuild的时候莫名的爆出原创 2017-06-30 20:55:09 · 7764 阅读 · 8 评论 -
ndk-jni初级入门
ndk初级入门,学习总结环境配置请检查 javac ,java是否能在cmd下面运行编写java方法对java代码进行编译得到头文件(如果是直接调用jni中的方法可以直接略过)将编译后的头文件放置于jni文件夹下面创建c语言类,引入编译头文件,同时执行操作1.创建jni文件夹 - 创建jni文件夹,我的名字叫jni - 创建完成后rebuild会发现在build配置中多出了一行配原创 2017-07-01 19:43:05 · 329 阅读 · 0 评论 -
关于android activity的层级理解
关于android activity的层级理解学习acitivty绘制的时候看到了activity的层级结构,也学习了一下也算是稍微了解了activity的层级结构,通过博客和源码记录一下自己的学习先放一张网上找到的图,大致了解一下activity的层级关系和系统进程的关系,也感谢绘制图片的dalao从上面图片可以看出activity的层级可以看出整个activty的层级其实分为->phoneWi原创 2017-07-20 12:48:43 · 3552 阅读 · 0 评论 -
自定义view onMeaure
自定义view onMeaure记录一下今天的学习,看的很多,但是太过鱼龙混杂,也在这里写一下我对这个的理解自定view:通过继承view或者系统控件,实现更多的拓展功能。一个完整的自定义view需要实现onMeaure,onLayout,onDraw方法,正如我们所想的,当我们需要绘制一个view时候,首先需要对其进行测量大小,确定其大小,用到onMeaure,当大小确定过后,这个控件如何摆放原创 2017-07-20 22:23:43 · 585 阅读 · 0 评论 -
android自定义view onDraw canvas
android自定义view onDrawcanvas ,paint方法在onMeaure和onLayout完成后的onDraw方法canvascanvas 简单来说就是一块画布,当我们需要进行绘制时候,他就像一张纸,可以在上面任意的书写,作画,paint,就像他的名字一样,用来书写以及画画的工具,通过设置一系列的paint参数,再将paint传入canva中便可完成绘制。 可以看下官方ap原创 2017-07-21 10:00:01 · 909 阅读 · 0 评论 -
android LayoutInflater
android LayoutInflater稍微学习了android的绘制机制,就来了解了一下android的LayoutInflater,字面意思就是布局填充,根据指定的xml布局加载布局,返回一个view。想要使用它首先要获取 LayoutInflater的实例化对象 可以通过下面两种方式获取LayoutInflater layoutInflater = LayoutInflater.原创 2017-07-21 13:37:07 · 319 阅读 · 0 评论 -
自定义view onLayout
自定义view onLayout自定义view的onLayout会在测量完成过后运行@Override protected abstract void onLayout(boolean changed,int l, int t, int r, int b);传入l t r b分别代表相对于父布局的左边距,上边距,右边距和下边距。当我们重写viewGroup时候,需要对onLayout进行重写,从原创 2017-07-21 10:53:19 · 397 阅读 · 0 评论 -
android LayoutParams和MarginLayoutParams
android LayoutParams和MarginLayoutParamsLayoutParams相信大家或多或少都使用过LayoutParams,作为加载layout布局的主力,不论是在xml文件中使用layout进行布局,或者是在 代码中通过LayoutParams.setParams进行布局,都是子控件告诉父控件自己应该如何摆放的一种方式。在自定义view中,View的测量宽高原创 2017-07-21 22:10:31 · 2664 阅读 · 0 评论 -
android事件分发学习
android事件分发学习很久没有记录博客了,感觉看的很多但是记录的确实挺少,最近系统的看了关于事件分发的模块的内容,记录一下自己的学习轨迹所有的事件的传递分为三个阶段分发(Dispatch)对应事件dispatchTouchEvent拦截(Intercept)对应事件onInterceptTouchEvent消费(Consume)对应着onTouchEvent方法dispatchTouc原创 2017-07-20 11:11:52 · 308 阅读 · 0 评论 -
Android 内存泄漏和内存溢出
内存溢出 out of memory ,一个如果编码不注意会经常出现的错误,当程序在申请内存时候,如果内存不够的情况下,就会报出这个错误,比如大量使用大小较大的图片,比如将一个long 的类型存在interger里面。内存泄露 memory leak,当程序在申请空间后,无法释放其空间,当很多的内存泄露堆叠在一起,就会产生 out of memory。当我们为控件绑定监听器后,如果在完成过后没有释放原创 2017-09-04 20:05:25 · 280 阅读 · 0 评论 -
关于android 根据系统语言更改 app名字和其他配置
上次在实验室的项目里面,上面要求要根据系统的语言更改app的名字,比如中文就显示 中文名字 ,如果是英文就显示 英文名字,网上资料查了半天,搞得我云里雾里的。自己查了下,android对于多语言的支持还是挺好的。直接上图,在project查看下面,新建一个values-en文件夹,当新建好strings后会直接变成支持英语的类型,同理可以新建clors和styles文件夹,当系统语言是对应语言原创 2017-06-16 23:08:32 · 4455 阅读 · 0 评论