自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Android版本特性

一、Android L 后 ART替换dalvikDalvik是Google公司自己设计用于Android平台的虚拟机。Dalvik虚拟机是Google等厂商合作开发的Android移动设备平台的核心组成部分之一。它可以支持已转换为** .dex格式**的Java应用程序的运行,.dex格式是专为Dalvik设计的一种压缩格式,适合内存和处理器速度有限的系统。Dalvik 经过优化,允许...

2024-03-15 11:57:08 880 1

转载 Java并发编程:volatile关键字解析

Java并发编程:volatile关键字解析   volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。  volatile关键字虽然从字面上理解起来比较简单,但是要用好不是一件容易的事情。由于volatile关键字是与Java的内存模型有关的,因此在讲述volatile关键之前,我们先来了解一下与内存模型相关的概念和知识,然后分析了volati

2020-08-19 16:05:43 174

转载 HTTPS原理及加密

HTTPS(全称:HyperText Transfer Protocol over Secure Socket Layer),其实 HTTPS 并不是一个新鲜协议,Google 很早就开始启用了,初衷是为了保证数据安全。 近两年,Google、Baidu、Facebook 等这样的互联网巨头,不谋而合地开始大力推行 HTTPS, 国内外的大型互联网公司很多也都已经启用了全站 HTTPS,这也是未来互联网发展的趋势。为鼓励全球网站的 HTTPS 实现,一些互联网公司都提出了自己的要求:1)Google

2020-08-11 17:16:26 576

转载 HTTPS工作原理以及Android中如何防止抓包

HTTPS工作原理以及Android中如何防止抓包1. HTTPS的定义说道HTTPS,不得不提HTTP,HTTP最大的缺陷就是明文传输,数据传输过程中很容易被篡改,所以美国网景公司提出来HTTPS协议,相对HTTP,HTTPS多了一个S,这个S,其实就是SSL/TSL,SSL全称安全套接字层,TSL1.0(传输层安全协议)是SSL3.0的升级版,是用于服务器和客户端加密通信的,所以可以认为两者是同一种协议,SSL因为自身的不安全性,在Android8.0已经被弃用了,以上可以看出HTTPS=HTT

2020-08-11 14:40:53 1044

原创 7种常见的音频格式简析 MP3,WMA,WAV,APE,FLAC,OGG,AAC

一、MP3全称是动态影像专家压缩标准音频层面3(Moving Picture Experts Group Audio Layer Ⅲ),是当今最为流行的一种数字音频编码和有损压缩格式,在1991年由位于德国埃尔朗根的研究组织Fraunhofer-Gesellschaft的一组工程师发明和标准化的。它设计用来大幅度地降低音频数据量,而对于大多数用户来说重放的音质与最初的不压缩音频相比感觉不到很大的下...

2020-02-26 19:59:30 46917

转载 音视频编码基础知识

视频编码基础知识关于视频常听码率,帧率,分辨率,它们分别是什么呢?码率:码率或码流率也就码流(Data Rate)是指视频文件在单位时间内使用的数据流量,通俗一点的理解就是取样率,是视频编码中画面质量控制中最重要的部分,一般用kb/s或者Mb/s表示。同样分辨率下,视频文件的码流越大,压缩比就越小,画面质量就越高。码流越大,说明单位时间内取样率越大,数据流,精度就越高,处理出来的文件就越接...

2020-02-26 15:03:26 2078

转载 YUV与RGB

一、概念  1.什么是RGB?对一种颜色进行编码的方法统称为“颜色空间”或“色域”。用最简单的话说,世界上任何一种颜色的“颜色空间”都可定义成一个固定的数字或变量。RGB(红、绿、蓝)只是众多颜色空间的一种。采用这种编码方法,每种颜色都可用三个变量来表示-红色绿色以及蓝色的强度。记录及显示彩色图像时,RGB是最常见的一种方案。  2.什么是YUV?YUV是被欧洲电视系统所采用的一种...

2020-02-26 14:46:42 654

原创 C语言的编译链接过程详解

学过C语言的人都应该知道,我们所编辑的C语言程序是不能直接放到机器上运行的,它只不过是一个带".c"后缀的文件(也称为源代码)而已,需要经过一定的处理才能转换成机器上可运行的可执行文件。我们将对C语言的这种处理过程称为编译与链接。编译就是把文本形式源代码翻译为机器语言形式的目标文件过程。链接是把目标文件、操作系统的启动代码和用到的库文件进行组织最终形成可执行代码的过程。编译和链接的过程图解...

2020-02-04 16:07:34 723

转载 Android自定义View:MeasureSpec的真正意义与View大小控制

自定义View是Android开发中最普通的需求,灵活控制View的尺寸是开发者面临的第一个问题,比如,为什么明明使用的是WRAP_CONTENT却跟MATCH_PARENT表现相同。在处理View尺寸的时候,我们都知道最好在onMeasure中设定好自定义View尺寸,那么究竟如何合理的选择这个尺寸呢。直观来说,可能有以下问题需要考虑:自定的View最好不要超过父控件的大小,这样才能保证自己...

2020-01-20 20:37:51 183

原创 React.createClass vs extends Component

当今React比较流行,可能会有很多的新手和我一样遇到这个问题:var MyClass = React.createClass({...});和class MyClass extends React.Component{...}之间的区别是什么?那么今天带大家一起学习一下。写法的区别React中有两种支持创建组件的方法,你可以通过React.createClass...

2019-11-22 18:15:35 124

原创 Android P(9.0) http网络请求的问题

Google表示,为保证用户数据和设备的安全,针对下一代 Android 系统(Android P) 的应用程序,将要求默认使用加密连接,这意味着 Android P 将禁止 App 使用所有未加密的连接,因此运行 Android P 系统的安卓设备无论是接收或者发送流量,未来都不能明码传输,需要使用下一代(Transport Layer Security)传输层安全协议,而 Android N...

2019-11-08 20:56:57 93

原创 /lib/arm64, /system/lib64, /product/lib64]]] couldn't find

项目中使用图片压缩用的是jni用c代码进行压缩,以前用的好好,突然间测试告诉我在魅族note上崩溃,查看错误日志如下:FATAL EXCEPTION: mainjava.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.mclm.business_spec...

2019-10-22 10:59:34 5440

原创 Android.mk官方详解

Android.mk本页介绍了ndk-build所使用的Android.mk编译文件的语法。概览Android.mk文件位于项目jni/目录的子目录中,用于向编译系统描述源文件和共享库。它实际上是编译系统解析一次或多次的微小 GNU makefile 片段。Android.mk文件用于定义Application.mk、编译系统和环境变量所未定义的项目范围设置。它还...

2019-10-14 20:42:20 152

原创 Android Crash及应用退出问题

1、Crash相信是很多朋友开发过程经常遇到的问题。经过本人测试,Android在API21以下(也就是Android5.0以下),crash后会直接退出应用;但是在API21以上(5.0以上系统),会遵循以下原则重启:包含service, 如果程序crash的时候,运行着service,那么系统会重新启动service 。 不包含service,只有一个Activity,那么系统不会重新启...

2019-09-17 10:59:47 929

原创 Android内存管理机制之一:lowmemory killer

(1)Android是一个多任务系统,也就是说可以同时运行多个程序,这个大家应该很熟悉。一般来说,启动运行一个程序是有一定的时间开销的,因 此为了加快运行速度,当你退出一个程序时,Android并不会立即杀掉它,这样下次再运行该程序时,可以很快的启动。随着系统中保留的程序越来越多,内 存肯定会出现不足,这个时候Android系统开始挥舞屠刀杀程序。这里就有一个很明显的问题,杀谁?(2)Andro...

2019-09-05 12:06:53 365

原创 使用Android Studio和MAT进行内存泄漏分析

1.Java内存分配策略Java 程序运行时的内存分配策略有三种:静态分配、栈式分配和堆式分配。对应的存储区域如下:静态存储区(方法区):主要存放静态数据、全局 static 数据和常量。这块内存在程序编译时就已经分配好,并且在程序整个运行期间都存在。栈区 :方法体内的局部变量都在栈上创建,并在方法执行结束时这些局部变量所持有的内存将会自动被释放。堆区 : 又称动态内存分配,通常就...

2019-09-04 12:09:51 326

转载 ANR机制及问题分析

目录1. 概览2. ANR机制2.1 ANR的监测机制2.1.1 Service处理超时2.1.2 Broadcast处理超时2.1.3 Input处理超时2.1.4 小结2.2 ANR的报告机制2.2.1 CPU的使用情况2.2.2 函数调用栈3. 问题分析方法3.1 日志获取3.2 问题定位3.3 场景还原3.3.1 第一个假设...

2019-09-04 11:18:41 676

原创 Android 字体不随系统字体变化

一、 APP字体大小,不随系统的字体大小变化而变化的方法1、将字体大小的单位设置了dp,就可以固定字体大小不随系统设定的字号变化sp和dp很类似但唯一的区别是,Android系统允许用户自定义文字尺寸大小(小、正常、大、超大等等),当文字尺寸是“正常”时1sp=1dp=0.00625英寸,而当文字尺寸是“大”或“超大”时,1sp>1dp=0.00625英寸。2、代码设置(新)...

2019-08-29 18:33:24 1859

原创 Android adb 设置移除代理

设置代理:adb shell settings put global http_proxy ip:port如:adb shell settings put global http_proxy 127.0.0.1:8888移除代理:adb shell settings delete global http_proxyadb shell settings delete glob...

2019-08-29 17:56:38 8814 3

转载 Android系统开机启动时间分析

Android系统开机启动时间分析(rk)2018年07月23日 09:23:44JiangzhouHe1阅读数 869这里所说的统计系统的启动时间,并不是简单地用秒表和肉眼来统计,而是通过分析系统输出的log信息来统计,这样才显得更加专业。首先了解2个概念:1.Android是基于Linux内核的系统,因此Android的启动过程是分为两个阶段:1)...

2019-08-14 18:19:04 1365

原创 Android中Sharedpreferences跨进程时数据刷新问题

在最近想买中需要在service里面通过Sharedpreferences进行保存用户登录信息,访问模式设为了MODE_PRIVATE,结果在登录成功保存信息然后通知BroadcastReceiver时无法实时读取,每次当数据在Activity中改变时,在BroadcastReceiver中读取的都是上一次的值,而对应的XML文件中的数据已经改变了,并且只有手动清除应用程序的缓存后,才可以读取到修...

2019-08-02 20:00:41 632

转载 Android 自动化测试框架对比

出自http://android.codemach.com/android-ce-shi-kuang-jia-dui-bi.htmlandroid的测试框架,除了需要适合做UI测试,还需要保证选取的框架有以下几点特性:工具开源,易于扩展。脚本编写简洁,维护成本低。满足客户端的自动化需求。便与校验结果的正确性。可用于持续集成。目前较热门的开源框架有:Android APIs提

2014-04-01 17:24:24 525

转载 Python解释执行原理及过程

谈到了Python语句的两种执行方式,实际上,这两种运行方式在本质 上是相同的,它们都是由解释器来解释执行我们提供的Python语句。 这里所说的解释执行是相对于编译执行而言的。我们知道,使用诸如 C或C++之类的编译性语言编写的程序可以从源文件转换成计算机使用 的机器语言, 经连接器连接后形成二进制可执行文件。当我们运行二进制可执行程 序的时候,因为已经编译好了,所以加载器软件把二进制程序从硬盘

2014-03-25 15:59:17 11436 1

转载 SharedPreferences多个程序之间共享数据

SharedPreferences多个程序之间共享数据0作者:703225158更新于 05月09日访问(1719)评论(2)Android平台给我们提供了一个SharedPreferences类,它是一个轻量级的存储类,特别适合用于保存软件配置参数。使用SharedPreferences保存数据,其背后是用xml文件存放数据,文

2014-03-13 17:48:47 1118

转载 ContentProvider和Uri详解

一、使用ContentProvider(内容提供者)共享数据ContentProvider在android中的作用是对外共享数据,也就是说你可以通过ContentProvider把应用中的数据共享给其他应用访问,其他应用可以通过ContentProvider对你应用中的数据进行添删改查。关于数据共享,以前我们学习过文件操作模式,知道通过指定文件的操作模式为Context.MODE_WORLD_

2014-03-13 17:45:21 394

转载 Android中的Handler, Looper, MessageQueue和Thread

Android中的Handler, Looper, MessageQueue和Thread0Android中的Handler, Looper, MessageQueue和Thread前几天,和同事探讨了一下Android中的消息机制,探究了消息的发送和接收过程以及与线程之间的关系。虽然我们经常使用这些基础的东西,但对于

2014-03-13 15:57:33 345

转载 性能优化之Java(Android)代码优化

性能优化之Java(Android)代码优化本文为Android性能优化的第三篇——Java(Android)代码优化。主要介绍Java代码中性能优化方式及网络优化,包括缓存、异步、延迟、数据存储、算法、JNI、逻辑等优化方式。(时间仓促,后面还会继续完善^_*)性能优化专题已完成五部分:性能优化总纲——性能问题及性能调优方式性能优化第三篇——Java(Android)代码优化性...

2014-03-13 11:12:05 431

原创 Fragment使用问题

1.fragment加动画后,页面切换偶尔卡的问题:  解决方法:handler.postDelayed方法,将获取网络数据方法延迟执行2.进程被杀掉fragment被回收问题:一般情况都会想当然的以为进程被杀掉之后,Fragment也会被回收其实,Fragment有自己的生命周期,有自己的管理器(FragmentManager),也即:包含Fragment的进程被

2014-03-12 17:44:23 900

原创 Android manifest属性理解

android:sharedUserId当APK安装的时候,userid这个标志就会产生。APK在设备上的整个生命周期中,这个ID不再改变。不同设备上同一个应用包可能有不同的userid,重要的是在给定的设备上,每个应用包有自己独立的userid。userid的特点:1. 作为APK身份的标识 2. userid对应一个Linux用户,所以不同APK(用户)间互相访问数据默

2014-03-10 18:47:30 586

转载 Android中View绘制流程以及invalidate()等相关方法分析

本文主要内容是讲解一个视图View或者一个ViewGroup对象是如何添加至应用程序窗口中的。         下文中提到的窗口可泛指我们能看到的界面,包括一个Activity呈现的界面(我们可以将之理解为应用程序窗口),一个Dialog,   一个Toast,一个Menu菜单等。      首先对相关类的作用进行一下简单介绍:       

2014-03-07 14:26:11 432

原创 Genymotion使用问题总结

1.安装应用时出现 INSTALL_FAILED_CPU_ABI_IMCOMPATIBLE 错误解决办法:点击下载Genymotion-ARM-Translation.zip将你的虚拟器运行起来,将下载好的zip包用鼠标拖到虚拟机窗口中,出现确认对跨框点OK就行。然后重启你的虚拟机。2.使用百度地图sdk的应用出错,报如下异常:Caused by: java.lan

2014-03-05 16:00:10 670

原创 android bitmap drawable canvas

转换方法:1)Bitmap 转化为 byteByteArrayOutputStream out = new ByteArrayOutputStream();bitmap.compress(Bitmap.CompressFormat.PNG, 100, out);byte[] array= out.toByteArray();2)byte转化为bitmapfinal ContentResolver

2014-03-04 17:09:58 511

转载 依赖、关联、聚合和组合之间区别的理解

在学习面向对象设计对象关系时,依赖、关联、聚合和组合这四种关系之间区别比较容易混淆。特别是后三种,仅仅是在语义上有所区别,所谓语义就是指上下文环境、特定情景等。他们在编程语言中的体现却是基本相同的,但是基本相同并不等于完全相同,这一点在我的前一篇博文《设计模式中类的关系》中已经有所提及,下面就来详细的论述一下在java中如何准确的体现依赖、关联、聚合和组合。首先看一看书上对这四种关系的定义

2014-02-21 17:40:09 475

转载 android 字体

Android提供三种字体:“Sans”,“serif”和“monospace”。1、在Android XML文件中设置字体可以采用android:typeface,例如android:typeface=”monospace”。在这里例子中我们在Activity中对android:text=”Hello, World! 您好”分别进行了四种显示方式,依次为“Sans”,“serif”,“m...

2014-02-14 15:29:00 418

转载 Android问题之res/raw和assets文件大小限制

Android系统对资源文件(res/raw和assets文件夹下)的大小有限制,默认最大仅支持1M的文件。否则apk程序将报错。如果AssetManager或Resources classes方法来获取InputStream,将抛出java.io.IOException的异常如下DEBUG/asset(1123): Data exceeds UNCOMPRESS_DATA_MAX。1、大

2014-02-14 15:28:09 984

转载 android 开源工具

第二部分 工具库主要包括那些不错的开发库,包括依赖注入框架、图片缓存、网络相关、数据库ORM建模、Android公共库、Android 高版本向低版本兼容、多媒体相关及其他。ps:android140个经典开源代码库放送:http://www.23code.com转自:http://www.trinea.cn/android/android-open-sourc

2014-01-28 15:47:16 533

转载 Android 自带图片裁剪

概述          我写这篇文章是为了发表我对MediaStore裁剪图片功能的一些简要研究。基本上,如果你要写一个应用程序,使用已有的Media Gallery并允许用户在你的应用里选取TA的图片的一部分(可选功能:人脸识别)。 可以使用一个Intent做到这个,但是也存在着相应的问题,总的来说也缺少这方面的文档告诉我们怎么实现它。 另外,这篇文章基于2.1并且在Nexus On

2014-01-03 17:26:30 909

原创 android selector item 顺序

selector一般使用四种状态:android:state_focusedandroid:state_pressedandroid:state_selectedandroid:state_enabled默认状态下view的背景使用`android:state_enabled="true"`设置,获得焦点时view的背景使用`android:state_focused="true" `设

2014-01-02 16:50:03 1866

转载 listview header 注意事项

1、item内如果有button等控件时,在监听listview的onitemclick事件时,焦点会被item内的button、imagebutton等控件抢走,从而导致在listview设置了onitemclick事件后不会被触发。解决方法是在初始化item的时候屏蔽掉其内部button等控件的焦点获取,具体方法可以在自定义item的根控件中调用:[java] view

2013-11-29 16:24:49 550

转载 windows下eclipse搭建android_ndk开发环境

windows下eclipse搭建android_ndk开发环境安装cygwin:由于NDK编译代码时必须要用到make和gcc,所以你必须先搭建一个linux环境, cygwin是一个在windows平台上运行的unix模拟环境,它对于学习unix/linux操作环境,或者从unix到windows的应用程序移植,非常有用。通过它,你就可以在不安装linux的情况下使用NDK来编译C...

2013-11-04 18:38:16 393

jsp技术手册

jsp基础,初学者很好的教程

2008-07-18

空空如也

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

TA关注的人

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