android基础总结整理
破岩
专注于机器学习、深度学习领域,对图像识别,物联网技术,擅长java , python编程。
展开
-
android webView 与 JS交互方式
webView 与JS交互Android调用JS代码的方法有:通过WebView的loadUrl()通过WebView的evaluateJavascript()对于JS调用Android代码的方法有3种:通过WebView的addJavascriptInterface()进行对象映射通过 WebViewClient 的shouldOverrideUrlLoading ()方法回调...原创 2020-03-18 17:39:23 · 178 阅读 · 0 评论 -
Activity启动模式
Activity 一共有四种启动模式。 用例 启动模式 多个实例? 描述 Normal launches for most activities “standard” Yes Default. The system always creates a new instance of the activity in the target task and routes th原创 2016-07-12 23:05:47 · 240 阅读 · 0 评论 -
view工作原理-计算视图大小的过程(onMeasure)
view的视图有两种情况: 内容型视图:由视图的内容决定其大小。图形型视图:父视图为view动态调整大小。 ### measure的本质 把视图布局使用的“相对值”转化成具体值的过程,即把WRAP_CONTENT,MATCH_PARENT转化为具体的值。 measure内部的设计思路 再来看一下View中measure()函数原型:public final void measur原创 2016-07-12 21:55:39 · 584 阅读 · 0 评论 -
绘制基础知识-canvas paint
先来看一下Canvas Canvas 用来提供draw方法的调用。绘制东西需要4个基本的组建:一个bitmap用来存放像素,一个canvas用来提供draw方法的调用(往bitmap里写入),原始绘制元素(e.g.Rect, Path, text,Bitmap), 一个paint。 看一下canvas的主要方法:canvas.save()保存canvas的状态,保存之后,可以调用canva原创 2016-07-20 17:47:41 · 417 阅读 · 0 评论 -
android 打包相关问题记录
Android 中的打包配置在build.gradle文件中,下面对该文件的内容做一下记录。buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:2.2.0' }}这里生命了仓库的位置,依赖gr原创 2017-03-06 14:50:26 · 418 阅读 · 0 评论 -
handler 消息处理机制
关于handler消息处理机制,只要一提到,相信作为一个android工程师,脑海就会有这么一个流程大家都滚瓜烂熟了,但别人问到几个问题,很多人还是栽到这个“烂”上面,比如:一个线程是如何对应一个Lopper的?messageQueue是如何做到线程安全的? 首先先Looper看一段代码:private static void prepare(boolean quitAllowed) {原创 2017-12-13 12:45:59 · 275 阅读 · 0 评论 -
android 线程池
为什么用线程池创建/销毁线程伴随着系统开销,过于频繁的创建/销毁线程,会很大程度上影响处理效率例如:记创建线程消耗时间T1,执行任务消耗时间T2,销毁线程消耗时间T3如果T1+T3>T2,那么是不是说开启一个线程来执行这个任务太不划算了!正好,线程池缓存线程,可用已有的闲置线程来执行新任务,避免了T1+T3带来的系统开销 线程并发数量过多,抢占系统资源从而导致阻塞我们知道线程能共享系统资源,如果同转载 2017-12-17 19:43:47 · 189 阅读 · 0 评论