Activity基本类分析】的更多相关文章

先上一张类图. Android源码分析的文章在网络上已经很多, 有些知识点阅读完之后能够基本理解其框架,但是由于不是这些代码的维护者,所以过一段时间后就忘记的差不多了,又需要反复学习. 所以在读完文章之后,自己画一下类图,梳理下流程. ①Activity继承自Context类, Context,环境上下文, 提供各种获取系统环境的方法, 比如getResource, getPackageManager, getContentProvider等 ②ContextWrapper使用装饰模式, 对Co…
在项目中遇到WindowManager: Activity  has leaked window问题,其实在stackoverflow.com可以找到详细答案:http://stackoverflow.com/questions/2850573/activity-has-leaked-window-that-was-originally-added. 最佳答案:You're trying to show a Dialog after you've exited an Activity. 原因分析…
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://glblong.blog.51cto.com/3058613/1559320    其他相关博文:    Android笔记:触摸事件的分析与总结----MotionEvent对象    Android笔记:触摸事件的分析与总结----TouchEvent处理机制 Android中的事件类型分为按键事件和屏幕触摸事件.TouchEvent是屏幕触摸事件的基础事件,要深入了解屏幕触…
概述 xUtils3是国人开发的一款功能丰富的Android快速开发框架,值得研究下.zip包下载:[ZIP]xutils主要分以下几个模块 视图绑定模块 网络请求模块 数据库模块 图片加载模块 我们将逐一透过源码分析,本文分析视图绑定模块,包含View的注入和View事件的注入.我们将项目导入AndroidStudio,项目结构: 项目结构 xutils为项目源码,sample为使用方法举例.我们通过分析sample这个示例项目来分析xutils的内部细节.首先我们看看MyApplicatio…
转载请注明出处:http://blog.csdn.net/singwhatiwanna/article/details/17339857 概述 一直想写篇关于Android事件派发机制的文章,却一直没写,这两天刚好是周末,有时间了,想想写一篇吧,不然总是只停留在会用的层次上但是无法了解其内部机制.我用的是4.4源码,打开看看,挺复杂的,尤其是事件是怎么从Activity派发出来的,太费解了.了解Windows消息机制的人会发现,觉得Android的事件派发机制和Windows的消息派发机制挺像的…
Android Activity全面解析 首先,就从Android四大组件Activity开始. 1.Activity生命周期方法完全解析   activity_lifecycle.png 1).onCreate方法 当Activity第一次创建的时候调用.这个方法里主要是提供给我们做一些初始化操作,如:创建view.绑定数据到view.同时这个方法里还带有一个Bundle参数,这个参数的主要的用途会在后面的onSavedInstanceState方法的介绍里再来讲解. 2).onStart方法…
情况一:一个Activity跳转到另一个Activity时,将第一个Activity的数据传递到第二个Activity里面. 分析:当一个界面跳转到另一个界面的同时还要讲数据传递过去,这种情况需要用Intent类putExtra()方法实现. 具体在Onclick方法中的样例代码如下: Intent i1=new Intent(this,SecondActivity.class); String Message=Edit1.getText().toString(); i1.putExtra("M…
上文中,main.xml是我直接提出来的,并没有说明是怎么找到它的,现在说明发现它的理由: 一般我们分析界面布局会用到hierarchyviewer这个工具,从工具中,我们对应到视图,最主要的视图id我们找到了"gl_root_view",这一点在上一节中有说明.在Source insight中搜索这个id,我们找到了layout/Gl_root_group.xml: <merge xmlns:android="http://schemas.android.com/ap…
monkey测试跑出了一个异常: // CRASH: packgeName (pid) // Short Msg: java.lang.IllegalStateException // Long Msg: java.lang.IllegalStateException: Fragment a{422d39d8} not attached to Activity 经过分析和定位,Fragment中一处加载资源报错. 原因是这样的Fragment在Activity中加载前就调用了,获取资源的一些方法…
1 getApplicationContext分析 该方法为contextImpl类的方法,返回一个ApplicationContext.方法代码为: public Context getApplicationContext() { return (mPackageInfo != null) ? mPackageInfo.getApplication() : mMainThread.getApplication(); } 1.1 mPackageInfo.getApplication()分析 如…
转载请注明出处:http://blog.csdn.net/singwhatiwanna/article/details/17339857 概述 一直想写篇关于Android事件派发机制的文章,却一直没写,这两天刚好是周末,有时间了,想想写一篇吧,不然总是只停留在会用的层次上但是无法了解其内部机制.我用的是4.4源码,打开看看,挺复杂的,尤其是事件是怎么从Activity派发出来的,太费解了.了解Windows消息机制的人会发现,觉得Android的事件派发机制和Windows的消息派发机制挺像的…
原文:http://blog.csdn.net/u011068702/article/details/53208825 附:Android Hook 全面入侵监听器 第一步.先爆项目demo照片,代码不多,不要怕   第二步.应该知道Java反射相关知识 如果不知道或者忘记的小伙伴请猛搓这里,Android插件化开发基础之Java反射机制研究 http://blog.csdn.net/u011068702/article/details/49863931 第三步.应该知道Java静态代理知识 如…
前言 Activity 生命周期,虽然开发android 程序有几年了,但是很多基本东西还是经常遗忘模糊,在此笔记白纸黑字记录,下次记忆模糊的时候温故知新.网上一搜索一大把,但是多是一大堆各种日志搅来搅去比较模糊难懂,有个别的文章就是一知半解比较片面,这个看似简单但是又说清道不明,为了更加简单快速的理解并做笔记,我使用的是官方的示例ActivityLifecycle运行结果作为记录依据 Activity生命周期重要性 activity生命周期是应用程序井井有条运行的根本,也许不需要实现所有的生命…
ActivityCollector.java import android.app.Activity; import java.util.ArrayList; import java.util.List; //活动汇总管理 public class ActivityCollector { public static List<Activity> activities = new ArrayList<Activity>(); //添加活动 public static void add…
转自:Android中使用Handler引发的内存泄露 在Activity中,经常会用到自定义的Handler来处理主线程收到的Message,但是ADT20以后,直接定义的如下定义的内部会有提示说这种使用方法有内存泄漏的风险: private Handler mHandle = new Handler() { @Override public void handleMessage(Message msg) { switch (msg.what) { case 0: // this is the…
这几天,项目中有个新需求,需要按照模块添加不同的快捷方式到桌面上,从而方便用户的使用.特意进行了研究并分析了下58上面桌面快捷方式的实现. 首先多个shortcut的实现: <activity android:name="com.soyoungboy.android.demo.MainActivity" android:configChanges="keyboardHidden|orientation" android:label="@string/…
(五)AMS 如果站在四大组件的角度来看,AMS就是Binder中的Server. AMS全称是ActivityManagerService,看字面意思是管理Activity的,但其实四大组件都归它管.估计是Android底层开发人员先写了ActivityManagerService用来管理Activity,后来写Service.Receiver.CP的时候发现代码都差不多,于是就全都用ActivityManagerService,但是却忘记改名字了——我也是猜的,纯属八卦. 由此而说到了插件化…
所谓的窗口(Window)就是一个显示在手机屏幕上可视化视图的一片区域.在Android中窗口是一个抽象的概念,每一个Activity就对应着一个窗口,而所有的窗口都是由视图(View)来呈现,而我们知道View构成的一个树形结构的视图就组成了一个Activity的界面了.在android系统中窗口分为三个类型: 应用窗口:所谓应用窗口指的就是该窗口对应一个Activity,因此,要创建应用窗口就必须在Activity中完成了. 子窗口:所谓子窗口指的是必须依附在某个父窗口之上. 系统窗口:所谓…
猫头鹰工作室 我不相信命运,但尊敬命运 主页 大数据 Kafka Spark Hbase Redis Flume ActiveMQ 渗透测试 方法论 Kali测试 APP安全 OWASP 脑图 Tools CTF Hacker 安全基线 安全预警 数据库 MySQL Oracle 开发 Python Java SpringBoot 运维 Linux Nginx 常用小工具集 unix时间戳 文章存档         银行手机APP安全评估报告 APP安全 南瓜一族 12个月前 (12-31) 2…
Loader是一个异步加载数据的类,它和AsyncTask有类似也有不同,今天我们就先来学习下它.由于是对比学习,所以我们先来复习下AsyncTask的使用和特点. 一.AsyncTask 参考自:http://www.open-open.com/lib/view/open1417955629527.html package com.example.jacktony.myapplication03; import android.os.AsyncTask; /** * Created by Ja…
在Android常用编程中,Handler在进行异步操作并处理返回结果时经常被使用.通常我们的代码会这样实现. 1 2 3 4 5 6 7 8 9 public class SampleActivity extends Activity {   private final Handler mLeakyHandler = new Handler() { @Override public void handleMessage(Message msg) { // ... } } } 但是,其实上面的代…
用法,1是获取,2是清除, 问题是这个池到底能做什么用 首先用这个池生成的对象是在池节点下使用,而不是取出来用(可以取出来用,直接transform.parent赋值就可以) 疑问,池里面的节点时什么时候被隐藏的 Despawn时被隐藏的 补充说明:池中有spawn列表和despawn列表,在生成和回炉的操作时会进入对应的列表,如果两个列表数据量的和大于最大数值,回炉时就会销毁数据对象 spawn取出的对象可以绑的任何节点之下,使用despawn回收时这个对象节点绑定不需要变化,仅仅只是被池隐藏…
阿里P7Android高级架构进阶视频免费学习请点击:https://space.bilibili.com/474380680本篇文章将继续从以下两个内容来介绍XMS内核管理之AMS: [Activity的管理] [ Android插件化开发之运行未安装apk的activity] 一.Activity的管理 1.ActivityRecord是Activity管理的最小单位,它对应着一个用户界面;2.TaskRecord也是一个栈式管理结构,每一个TaskRecord都可能存在一个或多个Activ…
推荐阅读: 滴滴Booster移动App质量优化框架-学习之旅 一 Android 模块Api化演练 不一样视角的Glide剖析(一) LeakCanary 与 鹅场Matrix ResourceCanary对比分析 Android插件化已经出来好几年了,各大厂都出了各自方案,引用Wiki中VirtualAPK和其他开源框架的对比如下: VirtualAPK VirtualAPK是滴滴出行自研的一款优秀的插件化框架,主要有如下几个特性. 功能完备 支持几乎所有的Android特性: 四大组件方面…
Activity源码简要分析总结 摘自参考书籍,只列一下结论: 1. Activity的顶层View是DecorView,而我们在onCreate()方法中通过setContentView()设置的View只不过是这个DecorView中的一部分. DecorView是一个FrameLayout. 2. Activity和UI 有关,它包含一个Window(真实类型是PhoneWindow)和一个WindowManager(真实类型是LocalWindowManager)对象.这两个对象将控制整…
整个Android系统的启动分为Linux Kernel的启动和Android系统的启动.Linux Kernel启动起来后,然后运行第一个用户程序,在Android中就是init程序. ------------------------------------------------- 以下的内容应该算是学习笔记,特地整理成文. ------------------------------------------------- 1 init程序 init是linux系统中用户空间的第一个进程.由…
最近做项目的时候碰到一个棘手的问题,花了不少时间才找到原因并解决.特此记录这个被我踩过的坑,希望其他朋友遇到此问题不要调到这坑里去了. 问题描述: 1.背景:我的app中某个界面的Activity是继承FragmentActivity,因为此界面包含两个Fragment.这里我称为FragmentA和FragmentB吧.在Activity中有个刷新按钮,用来刷新ViewPager当前Fragment内容的刷新.点击Activity的刷新按钮之后,刷新按钮需要有简单的旋转动画,等Fragment…
  退出Activity注册Android遍历   目录(?)[+] 前言 知识结构 具体方案 方案1 方法采用FLAG_ACTIVITY_CLEAR_TOP退出整个程序多activity 方案2 方法通过堆栈管理器去管理 方案3 方法全局记录打开的Activity或通过一个自定义的类去管理打开的Activity 方案4 方案5 方案6不推荐 总结 源码DEMO   前言   由于一个同学问到我如何按照一个流程走好之后回到首页,我以前看到过4个解决方案,后来发现有做个记录和总结的必要,就写了这篇…
 http://blog.csdn.net/vipzjyno1/article/details/25463457    Android启动模式Flags栈Task   目录(?)[+] 什么是栈 栈 定义栈Stack 栈的操作压栈弹栈 Activity中的栈 Task Activity启动模式 Activity栈和Task联系 Intent Flags Activity相关属性taskAffinity      在学习Android的过程中,Intent是我们最常用Android用于进程内或进程…
Android Fragment生命周期图: Activity生命周期图: 对照图: Fragment生命周期分析: 1. 当一个fragment被创建的时候,它会经历以下状态. onAttach() onCreate() onCreateView() onActivityCreated() 2. 当这个fragment对用户可见的时候,它会经历以下状态. onStart() onResume() 3. 当这个fragment进入“后台模式”的时候,它会经历以下状态. onPause() onS…