ui界面性能优化

1.theme设置的background是在decorview中加载的,这个background会覆盖activity中设置的background,所以只需要设置一个就行,为了用户更好的体验,可以设置theme中的background。
分类: 其他 发布时间: 04-14 23:01 阅读次数: 0

四大启动模式总结

1.默认启动模式standard一个任务栈,先进后出原则 2.singleTop启动模式,栈顶模式,如果启动的activity在栈顶的则不会创建新的activity,会复用原来的activity并且调用newIntent方法,调用顺序onStop,onNewIntent,onPause 3.singleTask启动模式,先介绍TaskAffinity任务栈,如果activity指定TaskAffinity名称并且不和默认名称相同的话并且activity的启动模式是singleTask,此时启动
分类: 其他 发布时间: 04-14 23:01 阅读次数: 0

activity生命周期注意点及总结

1.一个activity启动另一个activity时一定先运行第一个activity的onPause方法然后运行另一个activity的onCreate,onStart,onResume方法。 论证方式,1.可以通过打log看两个activity的生命周期流程 2.通过源码可以看出先调用onPause方法,在调用另一个activity的启动方法,详细见开发艺术探索第五页 所以根据以上流程,onPause方法不能做耗时操作,会影响后一个activity的启动。
分类: 其他 发布时间: 04-14 23:01 阅读次数: 0

bindservice返回值问题

在极端的情况下bindservice返回值为true但是可能运行的是onServiceDisconnected方法,所以不能按照bindservice的返回值来判断是否连接成功。 通过源码也可以看出bindservice在连接过程中可能会走到onServiceDisconnected方法中。 地址:https://blog.csdn.net/u011386173/article/details/83184488 感谢 明朗晨光 的文档
分类: 其他 发布时间: 04-14 23:01 阅读次数: 0

android 源码级分析android系统的启动过程

博客园 首页 新随笔 联系 管理 订阅 随笔- 31 文章- 0 评论- 36 源码级分析Android系统启动流程 首先看一下Android系统的体系结构,相信大家都不陌生 1.首先Bootloader引导程序启动完Linux内核后,会加载各种驱动和数据结构,当有了驱动以后,开始启动Android系统,同时会加载用户级别的第一个进程init(system\core\init.c),该进程会首先加载一个init.rc配置文件,代码如下 int main(int argc, char **ar
分类: 其他 发布时间: 04-14 23:01 阅读次数: 0

android艺术开发探索第一章 activity 生命周期解析

1.onStart和onStop是从是否可见(是否可以看见)角度来回调的,onResume和onPause是从是否在前台(是否可点击)角度来回调的。 2.一个activity启动另一个activity时一定先运行第一个activity的onPause方法然后运行另一个activity的onCreate,onStart,onResume方法。 论证方式,1.可以通过打log看两个activity的生命周期流程 2.通过源码可以看出先调用onPause方法,在调用另一个activity的启动方法,
分类: 其他 发布时间: 04-14 23:01 阅读次数: 0

android开发艺术探索 第一章 启动模式解析

1.启动模式有四种:standard、singleTop、singleTask、singleInstance。 2.standard:默认模式,同栈先进后出原则。 3.singleTop:栈顶复用模式,启动的activity在栈顶则不会创建新的activity,并且调用onNewIntent方法(注意:onPause和onResume还会被调用);反之,则会创建activity,并且正常调用onCreate和onStart方法。 4.singleTask:栈内复用模式,启动的activity所
分类: 其他 发布时间: 04-14 23:01 阅读次数: 0

Android View 的绘制流程 转发

本文转自:https://www.cnblogs.com/jycboy/p/6219915.html 概述 本篇文章会从源码(基于Android 6.0)角度分析Android中View的绘制流程,侧重于对整体流程的分析,对一些难以理解的点加以重点阐述,目的是把View绘制的整个流程把握好,而对于特定实现细节则可以日后再对相应源码进行研读。 在进行实际的分析之前,我们先来看下面这张图: 我们来对上图做出简单解释:DecorView是一个应用窗口的根容器,它本质上是一个FrameLayout。D
分类: 其他 发布时间: 04-14 23:01 阅读次数: 0

android开发艺术探索 第一章 intentFilter的匹配规则 隐式启动匹配规则

intentFilter中包括action,catagory,data。 一个activity可以有多个intentFilter,一个intent匹配任意一组intentFilter即可匹配成功。 action的匹配规则: 1.intentFilter中至少有一个action,可以有多个action,不然intent无法匹配。 2.intent中有且只有一个action。 3.intent中的action和intentFliter中的任意一个action匹配成功即可。 catagory的匹配规
分类: 其他 发布时间: 04-14 23:01 阅读次数: 0

android开发艺术探索 第二章 IPC机制

总结梳理顺序:IPC简介、android多进程模式、Serializable、Parcelable、binder、IPC方式、binde连接池。 1.IPC简介:进程间通讯。 2.android多进程模式:指定android:process开启多进程方式。 ①.多进程运行机制:会为每个进程都分配一个独立的虚拟机,不同的虚拟机在内存分配上会有不同的地址空间,这就导致在不同的虚拟机中访问同一个类的对象会产生不同的副本。 ②.产生的问题: (1)静态成员和单例模式完全失效。(原因:同上) (2)线程
分类: 其他 发布时间: 04-14 23:01 阅读次数: 0

android开发艺术探索 第三章 View的事件体系

本章主要介绍: view基础,MotionEvent,TouchSlop,VelocityTracker,GestureDetetor,Scroller,view滑动,弹性滑动,事件分发机制 1.view的基础概念 view:android中所有控件的基类。 viewGroup:控件组。 2.view的位置几种表示法: ①.view.getLeft(),view.getRight(),view.getTop(),view.getBottom() 相对父布局的位置参数 ②.view.getX()
分类: 其他 发布时间: 04-14 23:01 阅读次数: 0

android开发艺术探索 第四章 view的工作原理

本章主要讲ViewRoot、DecorView、MeasureSpec、View的工作流程、自定义view 1.ViewRoot和DecorView ①ViewRoot的PerformTraversals方法开始最终调用view的measure、layout、draw方法。 ②decorview最终分为有titlebar和content两个布局,我们平时设置的setcontentview布局就是content这一块的,titlebar是标题栏actionBar的那部分。 2.MeasureSp
分类: 其他 发布时间: 04-14 23:01 阅读次数: 0

实时渲染学习(一)图形渲染管线概括与总结

参考博文:https://zhuanlan.zhihu.com/p/26527776(【《Real-Time Rendering 3rd》 提炼总结】(二) 第二章 · 图形渲染管线 The Graphics Rendering Pipeline) 一、图形渲染管线简述 图形渲染管线分为三个阶段: 应用程序阶段 几何阶段 光栅化阶段 二、应用程序阶段 通过软件方式实现,实现方法包括碰撞检测、加速算法、输入检测,动画,力反馈以及纹理动画,变换仿真、几何变形等。 主要任务:将摄像机位置、光照和模型
分类: 其他 发布时间: 04-14 23:01 阅读次数: 0

实时渲染学习(二)GPU渲染管线与可编程着色器

写在最开始: 参考博文:【《Real-Time Rendering 3rd》 提炼总结】(三) 第三章 · GPU渲染管线与可编程着色器 注意区分图形渲染管线和GPU渲染管线。图形渲染管线包括应用程序阶段、几何阶段和光栅化阶段(详情见 实时渲染学习(一)图形渲染管线概括与总结)。而GPU渲染管线包括: 顶点着色器(可编程) 曲面细分着色器(可选,可编程) 几何着色器(可选,可编程) 裁剪(可配置) 屏幕映射(固定) 三角形设定(固定) 三角形遍历(固定) 片元(像素)着色器(可编程) 合并阶段
分类: 其他 发布时间: 04-14 23:01 阅读次数: 0

实时渲染学习(三)图形渲染与视觉外观

参考博文:【《Real-Time Rendering 3rd》 提炼总结】(四) 第五章 · 图形渲染与视觉外观 The Visual Appearance 一、光照与材质 光源主要分为:平行光源、点光源和聚光灯。 材质附加到场景中的模型上可以描绘对象外观,每个材质都和一系列shader、纹理以及其他属性联系在一起,用来模拟光与材质的相互作用。 1.1 光的散射与吸收 一般而言,所有光物质相互作用都是散射和吸收的结果。 散射不会改变光亮,只是改变光的方向,散射可进一步细分为反射和折射。(反射光
分类: 其他 发布时间: 04-14 23:01 阅读次数: 0

用C/C++解决三天打鱼两天晒网问题

三天打鱼两天晒网问题 1.问题描述: 中国有句俗语叫“三天打鱼两天晒网”。某人从2010年1月1日起开始“三天打鱼两天晒网”,问这个人在以后的某一天中是“打鱼”还是“晒 网”。用C或C++语言/java/python实现程序解决问题。 基本要求: 1.程序风格良好(使用自定义注释模板),提供友好的输入输出。 提高要求: 1.输入数据的正确性验证。 2.使用文件进行数据测试。如将日期 20100101 20111214 等数据保存在in.txt文件中,程序读入in.dat文件进行判定,并将结果
分类: 其他 发布时间: 04-14 23:01 阅读次数: 0

通过计算运行时间比较几种求最大公约数的方法

1.题目分析 分别用辗转相除法、穷举法、更相减损法、stein算法求最大公约数,并测试比较几种算法在不同规模测试数据下的平均运行时间。 2.算法构造(流程图) 3.算法实现 (1)辗转相除法的函数嵌套调用实现 int divisor (int a,int b) /*自定义函数求两数的最大公约数*/ { int temp; /*定义整型变量*/ if(a<b) /*通过比较求出两个数中的最大值和最小值*/ { temp
分类: 其他 发布时间: 04-14 23:01 阅读次数: 0

模拟图灵机XN*2

题目分析 对于任意给定的一台Turing机和任意给定的字符串w ( w不含空格),编程模拟此Turing机的运行过程,要求输 出从开始运行起的每一步骤的结果。 算法构造 (1), 输入一个正整数XN (2),将输入的正整数转化为二进制,存在P[]中 (3),将p[]中的二进制转化为拓展二进位,存在t[]中 (4),模拟图灵机XN*2的指令 (5),将模拟后的拓展二进位转化为二进制,存在p[]中 (6),将p[]中的二进制转化为十进制 图灵机XN*2在拓展二进位上实现运算的指令: 0 0—
分类: 其他 发布时间: 04-14 23:01 阅读次数: 0

2019第十届蓝桥杯省赛C/C++B组第三题

1.题目 数列求值:给定数列1, 1, 1, 3, 5, 9, 17, …,从第4 项开始,每项都是前3 项的和。求第20190324 项的最后4 位数字。 2.思路: 改一下求斐波那契数列的代码。 3.代码: //存放在静态存储区 #include <iostream> using namespace std; const int Max=30000000; int a(int b[],int n) { b[1]=b[2]=b[3]=1; for(int i=4;i<=n;i++)
分类: 其他 发布时间: 04-14 23:01 阅读次数: 0

LinkList *L , LinkList *&L 和 LinkList &*L 的区别

转载自:https://blog.csdn.net/u013539441/article/details/39859741 include<stdio.h> #include<stdlib.h> typedef struct LNode { int data; struct LNode *next; } LinkList; void update_1(LinkList *L1) { L1 = (LinkList *)malloc(sizeof(LinkList)
分类: 其他 发布时间: 04-14 23:01 阅读次数: 0