6 月亮弯弯2013

尚未进行身份认证

android developer

等级
TA的排名 1k+

adb打印内核调试信息dmsg和kmsg说明

Android的log信息分为内核空间和用户空间中LOG,查看用户空间(也就是app等上层的log)的log直接用logcat就可以了,如果想过滤一些信息就用adbshell“logcat|grep-E‘log_xxx|log_aaa’”命令,这样log只会显示含有log_aaa和log_xxx的log信息了。上层的log信息大家基本都会查看,我们这里就只说用adb查看内核的log信息,

2017-12-21 10:22:42

linux两种库:动态库和静态库(共享库)说明

linux下有两种库:动态库和静态库(共享库)二者的不同点在于代码被载入的时刻不同。静态库的代码在编译过程中已经被载入可执行程序,因此体积比较大。动态库(共享库)的代码在可执行程序运行时才载入内存,在编译过程中仅简单的引用,因此代码体积比较小。不同的应用程序如果调用相同的库,那么在内存中只需要有一份该动态库(共享库)的实例。静态库和动态库的最大区别,静态情况下,把库直接加载到程序中,而动态库链接的时

2017-12-21 10:17:11

Android Interpolator属性动画解析

Interpolator的用法Interpolator这个东西很难进行翻译,直译过来的话是补间器的意思,它的主要作用是可以控制动画的变化速率,比如去实现一种非线性运动的动画效果。那么什么叫做非线性运动的动画效果呢?就是说动画改变的速率不是一成不变的,像加速运动以及减速运动都属于非线性运动。不过Interpolator并不是属性动画中新增的技术,实际上从Android1.0版本开始就一直存在Inte

2017-12-09 15:01:42

Android webview使用漏洞案例解析

现在很多App里都内置了Web网页(HypridApp),比如说很多电商平台,淘宝、京东、聚划算等等,上述功能是由Android的WebView实现的,但是WebView使用过程中存在许多漏洞,容易造成用户数据泄露等等危险,而很多人往往会忽视这个问题目录1.类型WebView中,主要漏洞有三类:任意代码执行漏洞密码明文存储漏洞域控制不严格漏洞2.具体分析

2017-11-23 21:56:25

java巧用软引用和弱引用避免OOM

很多人对OOM(OutOfMemory)这个错误不会陌生,而当遇到这种错误如何有效地解决这个问题呢?今天我们就来说一下如何利用软引用和弱引用来有效地解决程序中出现的OOM问题。下面是本文的目录大纲:  一.了解强引用、软引用、弱引用、虚引用的概念  二.进一步理解软引用和弱引用  三.如何利用软引用和弱引用解决OOM问题一.了解强引用、软引用、弱引用、虚引用的概念  在Java中,虽然不需

2017-11-20 21:19:29

Android UI性能优化案例

1、概述2015年初google发布了Android性能优化典范,发了16个小视频供大家欣赏,近期google又在udacity上开了系列类的相关课程。有了上述的参考,那么本性能优化实战教程就有了坚实的基础,本系列将结合实例为大家展示如何去识别、诊断、解决Android应用开发中存在的性能问题。那么首先带来的就是大家最关注的渲染的性能优化(渲染就是把东西绘制到屏幕上)。2、Android渲染机制大

2017-11-18 10:01:26

Java并发线程池,ThreadPoolExecutor解析

Executor存在的目的是提供一种将"任务提交"与"任务如何运行"分离开来的机制。虽然只有一个方法,但是却为灵活且强大的异步任务执行框架提供了基础。它提供了一种标准的方法将任务的提交过程与执行过程解耦开来,并用Runnable来表示任务。**一、线程池**对于数据库连接,我们经常听到数据库连接池这个概念。因为建立数据库连接时非常耗时的一个操作,其中涉及到网络IO的一些操作。因此就想出把连接通过

2017-11-16 17:34:30

AS如何引用本地jar包问题解决方案

从Eclipse转AndroidStudio后,很多操作都不是很清楚,就包括jar包的使用,直到昨天出现了问题,才去找原因并解决。问题是这样的:自定义的控件打成jar包了,在其他工程中调用,在运行时出现错误,提示说在xml中的自定义控件无法填充。在xml中弹出错误,说NoClassDefFoundError,进入源码发现指向的是styleable,也就是自定义属性。毫无疑问,这就是R文件的问题了。

2017-10-12 15:12:13

android netd的工作流程解析

一、NETD解读1.1、NETD的作用Netd是Android系统中专门负责网络管理和控制的后台daemon程序,其功能主要分三大块:设置防火墙(Firewall)、网络地址转换(NAT)、带宽控制、无线网卡软接入点(SoftAccessPoint)控制,网络设备绑定(Tether)等。Android系统中DNS信息的缓存和管理。网络服务搜索(NetServiceDiscovery,

2017-09-14 18:50:25

android netd和kernel&frameworks的通信逻辑

在应用到Linux内核之间需要一个桥梁,这个桥梁就是Netd守护进程,我们就从Netd守护进程开始去了解一些Android网络系统的工作流程。Netd进程是通过init进程启动的,我们来看看它在init.rc中的定义:servicenetd/system/bin/netdclassmainsocketnetdstream0660rootsystem

2017-09-13 09:29:03

Java之Semaphore介绍

一个计数信号量。从概念上讲,信号量维护了一个许可集。如有必要,在许可可用前会阻塞每一个acquire(),然后再获取该许可。每个release()添加一个许可,从而可能释放一个正在阻塞的获取者。但是,不使用实际的许可对象,Semaphore只对可用许可的号码进行计数,并采取相应的行动。拿到信号量的线程可以进入代码,否则就等待。通过acquire()和release()获取和释放访问许可。

2017-09-05 14:26:26

android BLE蓝牙RSSI数据的读写

获取RSSI无非就两种方法,一是在扫描回调时读取,二是在BLE连接之后读取,两种方法都比较简单,关键在于对蓝牙BLE的认识。那我首先就介绍下在扫描回调时怎么去读。因为通常情况下,我们扫描时的设备及信息都是放在界面上,我就拿这个来说吧,以呈现在列表上为例,首先适配器的创建在创建适配器的时候,要加入addDevice()方法publicArrayList<BluetoothDevice

2017-08-29 13:53:02

rsync命令排除文件和文件夹exclude

假设最开始的命令是这样的rsync-e‘ssh-p30000’-avl–delete–stats–progressdemo@123.45.67.890:/home/demo/backup/一、排除单独的文件夹和文件要排除sources文件夹,我们可以添加‘–exclude’选项:–exclude‘sources’rsync-av–progress-

2017-08-21 10:15:16

android 硬件加速 hardwareAccelerated

从Android3.0(APIlevel11)开始,Android的2D显示管道被被设计得更加支持硬加速了.硬加速使用GPU承担了所有在View的canvas上执行的绘制操作.  启用硬加速最简单的的方法是对整个应用启用硬件速.如果你的应用只使用标准的view和Drawable,全局启用硬加速将不会带来任何负面影响.然而,因为硬加速不是被所有的2D绘制所支持,所以启用它时可能对你的自定义绘制

2017-08-17 14:40:47

android版本列表

代号、标记和细分版本(Build)号简要来说,Android的开发是围绕着版本系列进行的,这些版本使用美味的点心名字(按字母顺序)作为代号。平台代号、版本、API级别和NDK版本为方便起见,代号与以下版本号、API级别和NDK版本相对应:代号版本API级别Nougat7.1API级别25Nougat7.0API级别24Marshmallow

2017-08-14 09:37:40

有关logcat-b radio过滤的问题

在Android中不同的log写到不同的设备中,共有/dev/log/system,/dev/log/main,/dev/log/radion,/dev/log/events四中类型。其中默认Log.v等写入/dev/log/main中。Slog写入/dev/log/system中。我们在使用logcat抓去日至的时候,可以指定buffer,来请求不同的环形缓冲区(‘main

2017-07-27 10:20:00

android StackTraceElement的一些用法

本文简要介绍了StackTrace(堆栈轨迹)以及StackTraceElement的一些用法一、什么是StackTraceStackTrace(堆栈轨迹)可以认为是一系列方法调用过程的集合。异常处理中常用的printStackTrace()即为打印异常调用的堆栈信息。二、StackTraceElement介绍StackTraceElement表示StackTrace(堆栈轨迹)中的一个元素,属性包

2017-07-17 13:49:33

libxxx.so has text relocations. This is wasting memory and prevents...解决方案

问题表现形式错误或警告日志当targetSdkVersion>=23且使用debug签名时,在6.0+的Android设备上运行App会输出以下错误Log:E/linker:/data/app/packagename/lib/arm/libxxx.so:hastextrelocationsW/System.err:Java.lang.UnsatisfiedLinkError:dlo

2017-07-14 14:13:34

调用.so 文件时报错has text relocations

调用.so文件时报错hastextrelocations调用.so文件时报如下错误:libcooee.so:hastextrelocations说明编译.so文件时使用了较低版本sdk而project中的配置targetSdkVersion22大于so编译时使用的sdkversion,所以只需要把功能中的targetSdkVersion降低即可

2017-07-12 18:03:23

OBM,ODM,OEM分别指什么

什么是OEM?OEM(OriginalEquipmentManufactuce,原始设备生产商)。是在社会化分工、专业化利益驱动下产生的,其基本含义是:按原单位(品牌单位)委托合同进行产品开发和制造,用原单位商标,由原单位销售或经营的合作经营生产方式。经济学鼻祖亚当斯的《国富论》(经济学第一本专著)第一篇第一章第一节开宗明义的就是讲专业化,古典经济学认为专业化可以促使边际收益的递增和边际成本

2017-07-01 09:56:21

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!