安了个卓
文章平均质量分 52
jiucongtian
这个作者很懒,什么都没留下…
展开
-
Android计算布局高度
1、场景:父控件布局高度设置为wrap content,子控件设置为match parent.1)父控件的onMeasure里边循环调用measureChild(childView, widthMeasureSpec, heightMeasureSpec). 然后调用childView.getMeasuredHeight(),并得出各子控件的高度。通过不同布局排列方式得出父控件的高度。2)原创 2016-12-22 16:09:59 · 1979 阅读 · 0 评论 -
android项目组件化
什么是组件化开发?个人理解是一种高内聚低耦合的开发模式。在移动开发里,它将一个大功能整体进行拆分,分别进行单独调试,最后再合并打包我向大家极力推荐使用组件化。因为无论你使用的是何种语言,开发的是什么项目,都有可能面对项目迭代中的各种高度耦合,而且随着开发人员数量的增多或者人员的调度,这种问题会越来越严重。最后在开发过程中,你就不得不在各个模块间跳来跳去,再加上AS本身编译速度那么慢,岂是一个呵转载 2017-01-19 16:17:39 · 1158 阅读 · 0 评论 -
Android中RelativeLayout和LinearLayout性能分析
Android中RelativeLayout和LinearLayout性能分析字数2807 阅读205 评论2 喜欢10先看一些现象吧:用eclipse或者Android studio,新建一个Activity自动生成的布局文件都是RelativeLayout,或许你会认为这是IDE的默认设置问题,其实不然,这是由 android-sdk\tools\templates\a转载 2017-03-23 09:52:24 · 363 阅读 · 0 评论 -
Android View框架的measure机制
概述 Android中View框架的工作机制中,主要有三个过程: 1、View树的测量(measure)Android View框架的measure机制 2、View树的布局(layout) Android View框架的layout机制 3、Vi转载 2017-04-13 08:54:05 · 325 阅读 · 0 评论 -
Android打包的那些事
Android打包的那些事使用gradle打包apk已经成为当前主流趋势,我也在这个过程中经历了各种需求,并不断结合gradle新的支持,一一改进。在此,把这些相关的东西记录,做一总结。1. 替换AndroidManifest中的占位符我想把其中的${app_label}替换为@string/app_nameandroid{ defaultConfig{转载 2017-05-08 11:30:59 · 460 阅读 · 0 评论 -
Android Native 使用初识
JNI,全称Java Native Interface,是用于让运行在JVM中的Java代码和运行在JVM外的Native代码(主要是C或者C++)沟通的桥梁。代码编写者即可以使用 JNI从Java的程序中调用Native代码,又可以从Native程序中调用Java代码。这样,编程人员可以将低阶的代码逻辑包装到高阶的程序框架 中,获得高性能高效率的同时保证了代码框架的高抽象性。在Andro转载 2017-05-08 17:54:57 · 2409 阅读 · 0 评论 -
多个apk共享进程
通过共享用户ID来实现多个应用程序使用同一个进程,这样也能使这些应用程序之间共享内存。1. 同一Apk中的同一包中的多个Activity调用时进程状况验证[1]创建Project: project name: FirstProject package : com.demo 默认Activity : MainActivity转载 2017-06-09 17:05:19 · 674 阅读 · 0 评论 -
彻底搞懂AIDL,local service和remote service
Android里Service可以分为两种情况,local service和remote service,其中remote service既可以是同个app中的又可以是另外一个app中的。区分是否local还是remote就看service和activity是不是运行在同一个进程中。默认情况下如果我们没有在manifest中指定service的process。像这样则Service原创 2017-06-09 17:04:23 · 1542 阅读 · 0 评论 -
Android性能优化之如何避免Overdraw
什么是Overdraw?Overdraw就是过度绘制,是指在一帧的时间内(16.67ms)像素被绘制了多次,理论上一个像素每次只绘制一次是最优的,但是由于重叠的布局导致一些像素会被多次绘制,而每次绘制都会对应到CPU的一组绘图命令和GPU的一些操作,当这个操作耗时超过16.67ms时,就会出现掉帧现象,也就是我们所说的卡顿,所以对重叠不可见元素的重复绘制会产生额外的开销,需要尽量减少Ove转载 2017-01-18 16:52:33 · 325 阅读 · 0 评论 -
android studio查看项目依赖情况
Gradle Panel在Gradle Panel中打印,Project和Module都支持。运行输出:12345678910111212:02:24 PM: Executing external task 'androidDependencies'...:core:androidDependenciesdebug+--- LOCAL转载 2017-01-12 11:42:15 · 8376 阅读 · 0 评论 -
Android界面性能调优手册
Android界面性能调优手册注:本文是我在 Android 界面性能调优知识的系统性总结,纯属个人碎碎念。秉持开源分享的原则发布本文出来,各位看官有需则取。原文见:https://androidtest.org/android-graphics-performance-pattens/界面是 Android 应用中直接影响用户体验最关键的部分。如果代码实现转载 2017-01-06 18:34:39 · 297 阅读 · 0 评论 -
Android View 绘制过程
Android中View的绘制过程 onMeasure方法简述 附有自定义View例子 Android中View的绘制过程 当Activity获得焦点时,它将被要求绘制自己的布局,Android framework将会处理绘制过程,Activity只需提供它的布局的根节点。 绘制过程从布局的根节点开始,从根节点开始测量和绘制整个layout tree。 每转载 2016-11-23 17:23:40 · 204 阅读 · 0 评论 -
callback网络请求转RxJava
想法先记下。后面补上调用函数的时候将subscriber保存起来,在callback函数中分别调用执行onNext, onError, onComplete。图跟本文章没有关系。只是一个基本的RxJava方式的函数。原创 2016-11-03 11:03:44 · 624 阅读 · 0 评论 -
android 任务Task及回收栈back stack介绍
概述一个手机应用程序通常包含多个Activities。每个Activity的设计,都是为了完成某种明确的功能及跳转到其他应用程序的Activity。比如,一个邮件收发应用程序,有一个Title的列表Activity,当点击列表标题时,跳转到另外一个Activity去显示邮件内容。一个Activity中,也可以去打开另外一个在同一设备上的其他应用程序的Activity。比如,当你发送转载 2016-05-19 17:51:35 · 381 阅读 · 0 评论 -
VelocityTracker计算速率
android.view.VelocityTracker主要用跟踪触摸屏事件(flinging事件和其他gestures手势事件)的速率。用addMovement(MotionEvent)函数将Motion event加入到VelocityTracker类实例中.你可以使用getXVelocity() 或getXVelocity()获得横向和竖向的速率到速率时,但是使用它们之前请先调用comp转载 2016-12-22 17:05:46 · 679 阅读 · 0 评论 -
一张图吃透android的TouchEvent事件传递
转载 2016-12-23 17:25:37 · 337 阅读 · 0 评论 -
android gradle配置文件
module里build.gradledependencies{compile fileTree(include: ['*.jar', dir: 'libs']) 依赖本地jarcompile project(':swipemenulib') 依赖另外一个modulecompile 'com.android.support:appcompat-v7:23.4.0原创 2016-12-26 10:41:15 · 253 阅读 · 0 评论 -
Maven 私有仓库搭建
笔者曾经不思量力的思考过『是什么推动了互联网技术的快速发展?』这种伟大的命题。结论是,除了摩尔定律之外,技术经验的快速积累和广泛分享,也是重要的原因。有人戏称,『写 Java,首先要学会选包』,在这里不好评论对错。不过这句话里面,至少包含两层意思:首先 Java 有大量的现成的依赖包,不必要自己造轮子;其次,Java 的包存放较为集中,集成方式也方便。笔者从事 Android 和转载 2016-12-26 11:00:28 · 2132 阅读 · 0 评论 -
Android Studio中需要知道的那些Version
Gradle VersionGradle 版本。需要在gradle/wrapper/gradle-wrapper.properties中修改。(文件较大,最好自己下载好放到相应位置。mac的位置为: /Users/your user name/.gradle/wrapper/dists)Android Plugin for Gradle VersionAndroid工程使用Gradl原创 2016-12-27 09:46:42 · 856 阅读 · 0 评论 -
android中的坐标系以及获取坐标的方法
android中有两种坐标系,分别称之为Android坐标系和视图坐标系。而对应的也有一些相关的方法可以获取坐标系中的坐标值。只有搞清楚这些区别,才能在实现的时候不至于出错或者得不到你想要的效果。 一、Android坐标系和视图坐标系 (1)Android坐标系 先来看一看Android坐标系是个什么样子的。贴一张图来说明,如下: ...转载 2018-12-07 17:58:31 · 881 阅读 · 0 评论