
android
文章平均质量分 63
pursuering
这个作者很懒,什么都没留下…
展开
-
Android启动优化-计算启动所有方法耗时
一般在application中会做一些三方SDK等的初始化工作,收集这些初始化方法所消耗的精确时间,才能给我们提供优化的方向。手动打点手动打点,方法开始的地方埋点计时,方法结束的地方埋点,计算二者差值,可在适当时机上传到服务器进行数据分析。一、普通方法:先写一个工具类LanchTimer private static long startT; /** * 起始时间 ...原创 2020-02-23 14:05:09 · 759 阅读 · 0 评论 -
Android启动优化
一、启动分类Android的启动分冷启动、热启动。1、冷启动:当启动应用时,后台没有这个应用的进程,需创建新的进程。冷启动过程:click (点击应用图标)——>ipc——>Process.start——>ActivityThread——>bindApplication——>lifeCycle——>ViewRootImpl2、热启动:就是后台存在当前...原创 2020-02-23 00:13:19 · 2511 阅读 · 0 评论 -
Andfix集成与使用
一、简介AndFix是阿里开源的热修复方案,是轻量级的。好处是集成简单,跟我们使用其他第三方就多了一步生成apatch文件,就是补丁文件。AndFix能在线修复的bug,能立即生效不需要重启。不过andfix只能修复方法级别的bug,不能新增方法,也不能修改资源和so文件等。与微信开源的tinker相比能做的确实少了点,但是andfix方便,集成简单,学习成本低,看项目需求可以选择到底用那家的方案。原创 2017-11-13 11:21:43 · 506 阅读 · 0 评论 -
View的加载流程源码分析
从activity的setcontentView()开始查看View是如何加载的。 /** * Set the activity content from a layout resource. The resource will be * inflated, adding all top-level views to the activity. * * @p原创 2017-11-22 16:58:21 · 471 阅读 · 0 评论 -
Android常见问题
1.Configuration with name ‘default’ not found.原因及解决:打开settings.gradle发现里面有很多个include ‘:app’这样的include,然而发现在工程的目录下面根本没有include的项目,所以将需要include的项目添加进来,如果 include的项目不需要,则将其include语句直接删掉,重新sync尝试。2.java.u原创 2017-06-09 14:40:06 · 475 阅读 · 0 评论 -
aidl的使用
一、aidl介绍我们可以去官方文档看看官方对aidl的介绍,https://developer.android.com/guide/components/aidl.html AIDL(Android 接口定义语言)与您可能使用过的其他 IDL 类似。 您可以利用它定义客户端与服务使用进程间通信 (IPC) 进行相互通信时都认可的编程接口。 在 Android 上,一个进程通常无法访问另一个进程的内原创 2017-11-24 15:58:35 · 398 阅读 · 0 评论 -
AndroidManifest.xml之动态修改应用的图标和应用名称
一、activity-alias标签Android支持动态修改应用程序的图标和应用名称。如双11双12的时候淘宝和京东等APP在不需要更新的情况下自动更换了图标,所以动态更新应用的图标和名称的最佳应用场景就像电商类项目的促销活动时使用。 Android之所以支持动态更新图标是因为在AndroidManifest.xml中有一个activity-alias标签,从标签名字上就能看出这是activit原创 2017-12-04 17:06:55 · 10455 阅读 · 3 评论 -
RxJava的使用
一、RxJava简介RxJava是基于事件流的异步操作,类似于Android的handler、AsyncTask。官方地址:https://github.com/ReactiveX/RxJava RxJava用的就是观察者模式,里面有几个角色:Observable:被观察者,负责产生事件Observer :观察者 ,负责对obervable产生的事件进行响应Subscribe :订阅,就是负原创 2017-12-05 15:39:13 · 430 阅读 · 0 评论 -
Fragment相关
Activity套嵌Fragment的 getFragmentManager()相关,Fragment套嵌Fragment要使用getChildFragmentManager()方法。原创 2018-09-21 09:27:19 · 322 阅读 · 0 评论 -
ContentProvider的使用
1、为什么使用内容提供者 内容提供者是应用程序为了给其他应用程序提供访问数据库中数据的接口。2、编写内容提供者步骤: 1.在工程中添加一个内容提供者的类,继承contentprovider这个父类,在oncreate方法得到数据库的实例对象; 2.在清单文件中配置内容提供者,注意需要指定主机名和exported属性; 3.在内容提供者类中添加匹配器,实现增删改查的方法原创 2017-11-22 10:05:13 · 308 阅读 · 0 评论 -
IntentService详解及源码分析
一、IntentService介绍IntentService是处理异步的一个类,继承Service。在intentservice内部有一个工作线程处理耗时操作。启动intentservice的方式跟启动一般的Service是一样的。 IntentService任务完成后自动停止,不需要我们手动控制,也不需要像Service那样调stopSelf()来停止。 Intentservice可以启动多次原创 2017-11-20 14:10:20 · 295 阅读 · 0 评论 -
自定义控件—canvas、paint
一、简介Android上绘制2D图形的基础是canvas和paint。canvas是画布,paint是画笔。canvas决定形状,那paint就是决定绘制的具体的颜色和效果。canvas虽然是基础,但是很强大。二、paint(画笔)这里主要介绍paint的几个常用的方法。Paint.setStyle(Paint.Style.FILL);//设置画笔的填充模式 //具体原创 2017-11-15 10:38:11 · 337 阅读 · 0 评论 -
Android Studio MVP插件MVPHelper可一键生成MVP代码
好用呀,赶紧收藏原文链接:http://androidwing.net/index.php/27MVPHelper一款Intellj IDEA 和Android Studio的插件,可以为MVP生成接口以及实现类,解放双手。Github 地址 https://github.com/githubwing/MVPHelper##注意对于MVP模式,定义一个Contract类来放置Model Vi转载 2017-06-13 11:23:23 · 1624 阅读 · 0 评论 -
Android 7.0 行为变更 通过FileProvider在应用间共享文件
出处: http://blog.youkuaiyun.com/lmj623565791/article/details/72859156 本文出自张鸿洋的博客一、概述之前项目的新特性适配工作都是同事在做,一直没有怎么太关注,不过类似这些适配的工作还是有必要做一些记录的。对于Android 7.0,提供了非常多的变化,详细的可以阅读官方文档Android 7.0 行为变更,记得当时做了多窗口支持、转载 2017-06-13 14:58:09 · 1095 阅读 · 0 评论 -
Android7.0 PopupWindow的兼容问题
原文链接:http://www.cnblogs.com/popfisher/p/6434757.html Android7.0 中对 PopupWindow 这个常用的控件又做了一些改动,修复了以前遗留的一些问题的同时貌似又引入了一些问题,本文通过在7.0设备上实测并且结合源码分析,带你了解关于 PopupWindow 的相关改动。 Android7.0 中下面两个问题解决了,这里强调一下,不是转载 2017-06-13 13:42:38 · 453 阅读 · 0 评论 -
给 Android 开发者的 RxJava 详解
<h3>前言</h3>我从去年开始使用 RxJava ,到现在一年多了。今年加入了 Flipboard 后,看到 Flipboard 的 Android 项目也在使用 RxJava ,并且使用的场景越来越多 。而最近这几个月,我也发现国内越来越多的人开始提及 RxJava 。有人说『RxJava 真是太好用了』,有人说『RxJava 真是太难用了』,另外更多的人表示:我真的百度了也谷歌了,但我还是转载 2017-06-13 13:09:45 · 473 阅读 · 0 评论 -
android中的BuildConfig
原文链接:http://blog.youkuaiyun.com/pony_maggie/article/details/51984819版本:Android stuido 2.2什么是BuildConfigBuildConfig其实是个Java类,在我们编译android工程时它自动生成。类的实现基本是下面这样的:public final class BuildConfig{ public Build转载 2017-06-13 12:51:30 · 1239 阅读 · 0 评论 -
activity之间的切换效果
Android中提供overridePendingTransition方法实现activity之间切换效果,在startActivity后,调用overridePendingTransition方法。例: Intent mainIntemt = new Intent(MainActivity.this,NewActivity.class); startActivity(mainIntemt原创 2017-06-13 12:39:51 · 364 阅读 · 0 评论 -
greenDao 3.0基本使用
一、greenDao概念greenDao是一种实现ORM( Object Relation Mapping 即 对象关系映射)多的技术。greenDao支持android原生的数据库SQLite,且代码库仅仅100k大小。greenDao 会根据modle类自动生成实体类(entities)和Dao对象,并且Dao对象是根据entities类量身定做的并且一 一对应。二、集成greenDaoAndr原创 2017-06-14 14:32:13 · 307 阅读 · 0 评论 -
Webview常见的一些坑
一、远程代码执行漏洞Android API level 16以及之前的版本存在远程代码执行安全漏洞,该漏洞源于程序没有正确限制使用WebView.addJavascriptInterface方法,远程攻击者可通过使用Java Reflection API利用该漏洞执行任意Java对象的方法,简单的说就是通过addJavascriptInterface给WebView加入一个JavaScript桥接接原创 2017-11-10 17:16:12 · 758 阅读 · 0 评论 -
Android shrinkResources 问题
一、shrinkResources 作用 android { buildTypes { debug { minifyEnabled false shrinkResources false } release {原创 2017-06-09 15:32:10 · 3429 阅读 · 0 评论