自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(67)
  • 资源 (1)
  • 收藏
  • 关注

转载 android中的坐标系以及获取坐标的方法

       android中有两种坐标系,分别称之为Android坐标系和视图坐标系。而对应的也有一些相关的方法可以获取坐标系中的坐标值。只有搞清楚这些区别,才能在实现的时候不至于出错或者得不到你想要的效果。 一、Android坐标系和视图坐标系    (1)Android坐标系      先来看一看Android坐标系是个什么样子的。贴一张图来说明,如下: ...

2018-12-07 17:58:31 789

转载 多个apk共享进程

通过共享用户ID来实现多个应用程序使用同一个进程,这样也能使这些应用程序之间共享内存。1. 同一Apk中的同一包中的多个Activity调用时进程状况验证[1]创建Project:    project name: FirstProject    package     : com.demo    默认Activity : MainActivity 

2017-06-09 17:05:19 646

原创 彻底搞懂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 1470

转载 进程和线程的区别

1.定义进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位.线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源.2.关系

2017-06-06 11:52:47 238

转载 Android Native 使用初识

JNI,全称Java Native Interface,是用于让运行在JVM中的Java代码和运行在JVM外的Native代码(主要是C或者C++)沟通的桥梁。代码编写者即可以使用 JNI从Java的程序中调用Native代码,又可以从Native程序中调用Java代码。这样,编程人员可以将低阶的代码逻辑包装到高阶的程序框架 中,获得高性能高效率的同时保证了代码框架的高抽象性。在Andro

2017-05-08 17:54:57 2018

转载 Android打包的那些事

Android打包的那些事使用gradle打包apk已经成为当前主流趋势,我也在这个过程中经历了各种需求,并不断结合gradle新的支持,一一改进。在此,把这些相关的东西记录,做一总结。1. 替换AndroidManifest中的占位符我想把其中的${app_label}替换为@string/app_nameandroid{ defaultConfig{

2017-05-08 11:30:59 438

转载 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 313

转载 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 342

转载 指针的类型信息保存在哪里?

[问题描述]int* pnVar;和char* pcVar;这两个指针在做加法的时候,计算机怎么知道是加1个还是4个byte 对应的汇编代码:12345678pnVar++;00413031  mov         eax,dword ptr

2017-03-21 11:32:39 2453 1

转载 android项目组件化

什么是组件化开发?个人理解是一种高内聚低耦合的开发模式。在移动开发里,它将一个大功能整体进行拆分,分别进行单独调试,最后再合并打包我向大家极力推荐使用组件化。因为无论你使用的是何种语言,开发的是什么项目,都有可能面对项目迭代中的各种高度耦合,而且随着开发人员数量的增多或者人员的调度,这种问题会越来越严重。最后在开发过程中,你就不得不在各个模块间跳来跳去,再加上AS本身编译速度那么慢,岂是一个呵

2017-01-19 16:17:39 1147

转载 Android性能优化之如何避免Overdraw

什么是Overdraw?Overdraw就是过度绘制,是指在一帧的时间内(16.67ms)像素被绘制了多次,理论上一个像素每次只绘制一次是最优的,但是由于重叠的布局导致一些像素会被多次绘制,而每次绘制都会对应到CPU的一组绘图命令和GPU的一些操作,当这个操作耗时超过16.67ms时,就会出现掉帧现象,也就是我们所说的卡顿,所以对重叠不可见元素的重复绘制会产生额外的开销,需要尽量减少Ove

2017-01-18 16:52:33 302

转载 java 切面编程 AOP(Aspect oriented program)

实例引入package com.cap.aop; public interface ICalculator { public double add(double num1, double num2) throws Exception;  public double sub(double num1, double num2) throws Ex

2017-01-13 17:35:28 430

转载 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 8326

转载 Android界面性能调优手册

Android界面性能调优手册注:本文是我在 Android 界面性能调优知识的系统性总结,纯属个人碎碎念。秉持开源分享的原则发布本文出来,各位看官有需则取。原文见:https://androidtest.org/android-graphics-performance-pattens/界面是 Android 应用中直接影响用户体验最关键的部分。如果代码实现

2017-01-06 18:34:39 276

原创 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 842

转载 Maven 私有仓库搭建

笔者曾经不思量力的思考过『是什么推动了互联网技术的快速发展?』这种伟大的命题。结论是,除了摩尔定律之外,技术经验的快速积累和广泛分享,也是重要的原因。有人戏称,『写 Java,首先要学会选包』,在这里不好评论对错。不过这句话里面,至少包含两层意思:首先 Java 有大量的现成的依赖包,不必要自己造轮子;其次,Java 的包存放较为集中,集成方式也方便。笔者从事 Android 和

2016-12-26 11:00:28 2083

原创 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 242

转载 一张图吃透android的TouchEvent事件传递

2016-12-23 17:25:37 318

转载 VelocityTracker计算速率

android.view.VelocityTracker主要用跟踪触摸屏事件(flinging事件和其他gestures手势事件)的速率。用addMovement(MotionEvent)函数将Motion event加入到VelocityTracker类实例中.你可以使用getXVelocity() 或getXVelocity()获得横向和竖向的速率到速率时,但是使用它们之前请先调用comp

2016-12-22 17:05:46 654

原创 Android计算布局高度

1、场景:父控件布局高度设置为wrap content,子控件设置为match parent.1)父控件的onMeasure里边循环调用measureChild(childView, widthMeasureSpec, heightMeasureSpec). 然后调用childView.getMeasuredHeight(),并得出各子控件的高度。通过不同布局排列方式得出父控件的高度。2)

2016-12-22 16:09:59 1932

原创 设计模式应用场景

修饰者模式:动态增加被修饰者的功能,被修饰者通常在运行时动态传入。(对于直接集成的符合开闭原则的替代)代理模式:限制真实对象的功能,真实对象通常在代理模式内部创建,也就是说编译时就已经决定了。。。未完待续

2016-12-21 11:50:27 325

转载 Java 代理模式和装饰者模式的区别

装饰模式:以对客户端透明的方式扩展对象的功能,是继承关系的一个替代方案;代理模式:给一个对象提供一个代理对象,并有代理对象来控制对原有对象的引用;装饰模式应该为所装饰的对象增强功能;代理模式对代理的对象施加控制,并不提供对象本身的增强功能二者的实现机制确实是一样的,可以看到他们的实例代码重复是很多的。但就语义上说,这两者的功能是相反的,模式的一个重要作用是简化其他程序员对你

2016-12-21 11:27:33 278

转载 Android View 绘制过程

Android中View的绘制过程 onMeasure方法简述 附有自定义View例子 Android中View的绘制过程  当Activity获得焦点时,它将被要求绘制自己的布局,Android framework将会处理绘制过程,Activity只需提供它的布局的根节点。  绘制过程从布局的根节点开始,从根节点开始测量和绘制整个layout tree。  每

2016-11-23 17:23:40 191

原创 callback网络请求转RxJava

想法先记下。后面补上调用函数的时候将subscriber保存起来,在callback函数中分别调用执行onNext, onError, onComplete。图跟本文章没有关系。只是一个基本的RxJava方式的函数。

2016-11-03 11:03:44 600

转载 详细介绍Java垃圾回收机制

垃圾收集GC(Garbage Collection)是Java语言的核心技术之一,之前我们曾专门探讨过Java 7新增的垃圾回收器G1的新特性,但在JVM的内部运行机制上看,Java的垃圾回收原理与机制并未改变。垃圾收集的目的在于清除不再使用的对象。GC通过确定对象是否被活动对象引用来确定是否收集该对象。GC首先要判断该对象是否是时候可以收集。两种常用的方法是引用计数和对象引用遍历。引用计

2016-09-30 17:04:00 183

转载 图解Java中的GC(分代收集器)

前面在Java垃圾收集算法中讲过垃圾收集算法中的分代收集器,今天看了一个视频发现里面将的也很不错,所以决定再总结一下。我们知道,在分代收集算法中堆空间被分为新生代和老年代。因为新生代中对象的存活率比较低,所以一般采用复制算法,老年代的存活率一般比较高,一般使用”标记-清理”或者”标记-整理”算法进行回收。上面的这个图已经很清楚的将堆的分区展现出来了。

2016-09-30 17:03:16 1765 1

转载 java线程安全总结

最近想将java基础的一些东西都整理整理,写下来,这是对知识的总结,也是一种乐趣。已经拟好了提纲,大概分为这几个主题: java线程安全,java垃圾收集,java并发包详细介绍,java profile和jvm性能调优 。慢慢写吧。本人jameswxx原创文章,转载请注明出处,我费了很多心血,多谢了。关于java线 程安全,网上有很多资料,我只想从自己的角度总结对这方面的考虑,有时候写东西是

2016-09-30 16:33:28 288

转载 Java集合中那些类是线程安全的

线程安全类在集合框架中,有些类是线程安全的,这些都是jdk1.1中的出现的。在jdk1.2之后,就出现许许多多非线程安全的类。 下面是这些线程安全的同步的类:vector:就比arraylist多了个同步化机制(线程安全),因为效率较低,现在已经不太建议使用。在web应用中,特别是前台页面,往往效率(页面响应速度)是优先考虑的。statck:堆栈类,先进后出hashtable:就比

2016-09-29 18:29:02 1011

转载 AVA多线程和并发基础面试问答

原文链接:http://ifeve.com/java-multi-threading-concurrency-interview-questions-with-answers/  多线程和并发问题是Java技术面试中面试官比较喜欢问的问题之一。在这里,从面试的角度列出了大部分重要的问题,但是你仍然应该牢固的掌握Java多线程基础知识来对应日后碰到的问题。(校对注:非常赞同这个观点)Ja

2016-09-29 15:22:26 728

转载 Java并发编程:Thread类的使用

一.线程的状态  在正式学习Thread类中的具体方法之前,我们先来了解一下线程有哪些状态,这个将会有助于后面对Thread类中的方法的理解。  线程从创建到最终的消亡,要经历若干个状态。一般来说,线程包括以下这几个状态:创建(new)、就绪(runnable)、运行(running)、阻塞(blocked)、time waiting、waiting、消亡(dead)。  

2016-09-29 14:52:00 197

转载 Java虚拟机内存管理(二)

1.JVM内存溢出几种情况PCR 程序计数器:用于记录正在执行的虚拟机字节码指令的地址,也是虚拟机规范中唯一未定义内存溢出的【内存区域】Java虚拟机栈:每一个方法的执行都对应着一个StackFrame栈桢的入栈和出栈过程,StackFrame用于存储局部变量、操作栈、动态链接、方法出口等信息。这块内存区域定义了2种内存溢出场景:当线程请求的栈深度超过虚拟机规定的最大栈深度,就会产生

2016-09-29 14:43:17 219

转载 Java虚拟机内存管理(一)

1.前言Sun公司的HotSpot虚拟机,将内存管理划分为:线程独享和线程共享的两块区域线程共享:比如我们new创建一个对象,对象在多线程中运行肯定是共享的 ===> 堆内存线程独享:比如当前线程执行A方法,方法里面定义的局部变量,肯定是当前线程独享的 ===> 栈内存这里描述的两块区域,就是一次粗糙的内存管理,也就是我们经常听到的:堆内存和栈内存 2.HotSpot虚拟机

2016-09-29 14:39:21 287

转载 rxjava详解

前言我从去年开始使用 RxJava ,到现在一年多了。今年加入了 Flipboard 后,看到 Flipboard 的 Android 项目也在使用 RxJava ,并且使用的场景越来越多 。而最近这几个月,我也发现国内越来越多的人开始提及 RxJava 。有人说『RxJava 真是太好用了』,有人说『RxJava 真是太难用了』,另外更多的人表示:我真的百度了也谷歌了,但我还是想问: R

2016-05-30 11:36:13 1271 2

转载 android 任务Task及回收栈back stack介绍

概述一个手机应用程序通常包含多个Activities。每个Activity的设计,都是为了完成某种明确的功能及跳转到其他应用程序的Activity。比如,一个邮件收发应用程序,有一个Title的列表Activity,当点击列表标题时,跳转到另外一个Activity去显示邮件内容。一个Activity中,也可以去打开另外一个在同一设备上的其他应用程序的Activity。比如,当你发送

2016-05-19 17:51:35 352

转载 android 任务Task及回收栈back stack介绍

概述一个手机应用程序通常包含多个Activities。每个Activity的设计,都是为了完成某种明确的功能及跳转到其他应用程序的Activity。比如,一个邮件收发应用程序,有一个Title的列表Activity,当点击列表标题时,跳转到另外一个Activity去显示邮件内容。一个Activity中,也可以去打开另外一个在同一设备上的其他应用程序的Activity。比如,当你发送

2016-05-19 17:50:43 338

转载 &#x开头的是什么编码呢。浏览器可以解释它。如中国等同与中文"中国"?

形如——&#dddd;&#xhhhh;&#name;——的一串字符是 HTML、XML 等 SGML 类语言的转义序列(escape sequence)。它们不是「编码」。以 HTML 为例,这三种转义序列都称作 character reference:前两种是 numeric character reference(NCR),数字取值为目标字符的 Unico

2016-04-07 10:20:49 3124

转载 详解Javascript中的Url编码/解码

摘要本文主要针对URI编解码的相关问题做了介绍,对Url编码中哪些字符需要编码、为什么需要编码做了详细的说明,并对比分析了Javascript中和编解码相关的几对函数escape / unescape,encodeURI / decodeURI和encodeURIComponent / decodeURIComponent。预备知识   foo://example.com:8042/o

2016-04-07 10:14:04 304

转载 四种常见的 POST 提交数据方式

HTTP/1.1 协议规定的 HTTP 请求方法有 OPTIONS、GET、HEAD、POST、PUT、DELETE、TRACE、CONNECT 这几种。其中 POST 一般用来向服务端提交数据,本文主要讨论 POST 提交数据的几种方式。我们知道,HTTP 协议是以 ASCII 码传输,建立在 TCP/IP 协议之上的应用层规范。规范把 HTTP 请求分为三个部分:状态行、请求头、消息主体。

2016-04-06 15:17:47 1843

转载 Java反射机制详解。

本篇文章依旧采用小例子来说明,因为我始终觉的,案例驱动是最好的,要不然只看理论的话,看了也不懂,不过建议大家在看完文章之后,在回过头去看看理论,会有更好的理解。下面开始正文。【案例1】通过一个对象获得完整的包名和类名123456789101112131415pac

2015-06-05 17:05:58 239

转载 C++编译器与链接器工作原理

C++编译器与链接器工作原理1. 几个概念    1)编译:把源文件中的源代码翻译成机器语言,保存到目标文件中。如果编译通过,就会把CPP转换成OBJ文件。    2)编译单元:根据C++标准,每一个CPP文件就是一个编译单元。每个编译单元之间是相互独立并且互相不可知。    3)目标文件:编译所生成的文件,以机器码的形式包含了编译单元里所有的代码和数据。

2012-11-20 17:12:23 252

总结的一些symbian开发资料

总结的一些symbian开发资料,对于初学者比较有用

2009-04-01

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除