自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 Selector, Method 和 IMP 的区别与联系

转载在 Objective-C 中,selector,Method 和 implementation(IMP) 都是 Runtime 的组成部分。在实际开发中它们常常是可以相互转换来处理消息的发送的。Selector定义:typedef struct objc_selector *SEL翻译成中文叫做选择子或者选择器,选择子代表方法在 Runtime 期间的标识符。为 SEL 类型...

2018-08-19 15:59:26 1369

转载 ios开发self和super的区别

转载self和super区别self是关键字 代表当前方法的调用者  如果是类方法:代表当前类 如果是对象方法:代表当前类的对象 super编译器指令[self message]和[super message]的实现其实不管是self还是super真正调用的对象都是一样的,只是查找方法的位置不一样,self是从当前类结构中开始查找,super是从父类中查找,但方...

2018-08-19 15:58:27 212

原创 MAT分析内存问题简要

引用博文1)http://blog.csdn.net/AlbertFly/article/details/519848822)http://blog.csdn.net/zgmzyr/article/details/8232323目录1)MAT的安装和文件导入2)MAT基本分析-查看潜在的内存泄漏3)MAT基本分析-结合代码查看应该回收的对象4)MAT基本

2018-01-04 01:03:50 465

原创 Mac Pro安装串口调试工具小结

背景:居于Android的车机系统App开发,期间一直使用USB+ADB调试,因导航软件异常,系统断电后不能正常启动,进入频繁重启状态,需要串口调试进行系统恢复参考:使用Mac Pro搭建调试环境,参考了http://blog.csdn.net/u010285246/article/details/72354038,该笔者写的很清楚了,

2017-12-26 17:07:40 2442

转载 Android 使用AIDL跨进程通信(二)--传递自定义对象

使用AIDL传递自定义Bean结构,必须实现parcelable接口Server中进行定义Bean结构// Parcelable与Serializable序列化对比// 1.在使用内存的时候,Parcelable比Serializable性能高,所以推荐使用Parcelable。//// 2.Serializable在序列化的时候会产生大量的临时变量,从而引起频繁的GC。//

2017-11-08 15:11:28 1057

转载 Android硬件加速原理与实现简介

在手机客户端尤其是Android应用的开发过程中,我们经常会接触到“硬件加速”这个词。由于操作系统对底层软硬件封装非常完善,上层软件开发者往往对硬件加速的底层原理了解很少,也不清楚了解底层原理的意义,因此常会有一些误解,如硬件加速是不是通过特殊算法实现页面渲染加速,或是通过硬件提高CPU/GPU运算速率实现渲染加速。本文尝试从底层硬件原理,一直到上层代码实现,对硬件加速技术进行简单介绍,其

2017-09-25 18:23:20 256

转载 Android 信号处理面面观 之 信号定义、行为和来源

传统 Unix系统的信号定义和行为所有的符合Unix规范(如POSIX)的系统都统一定义了SIGNAL的数量、含义和行为。 作为Linux系统,Android自然不会更改SIGNAL的定义。在Android代码中,signal的定义一般在 signum.h (prebuilt/linux-x86/toolchain/i686-linux-glibc2.7-4.4.3/sysroot/u

2017-09-19 16:18:48 1013

转载 Android任务栈的完全解析

手机的Home界面是大多数任务开始的地方,转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/41087993本篇文章主要内容来自于Android Doc,我翻译之后又做了些加工,英文好的朋友也可以直接去读原文。http://developer.android.com/guide/components

2017-09-14 16:25:00 1877

转载 Linux平台Cpu使用率的计算

http://blog.csdn.net/tenfyguo/article/details/7476306proc文件系统/proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。它以文件系统的方式为内核与进程提供通信的接口。用户和应用程序可以通过/proc得到系统的信息,并可以改变内核的某些参数。由于系统的信息,如进程,是动态改变的,所以用户或应用程序读取/proc

2017-08-03 20:38:02 8770

转载 adb shell 启动,停止 android 应用程序

转载:http://blog.sina.com.cn/s/blog_505bf9af0101d9co.html一、adb启动 应用程序(1)查看app包名:进入android操作系统adb shell在root@android:/ # 后边,输入cd data/data然后输入ls这样就能看见android系统上安装的安装包 包名:例如:cn.com.c

2017-06-24 10:40:43 1261

转载 android crash 四 ANR原因分析及解决方法

转载自:http://wenku.baidu.com/link?url=fUXG2wO3ECS2nZorr6MtTH8_PNCQESk-h8UpQdt1NH0_AjtgwbwW2b7PIO7oJ0OyJJzr62uB0202rXyNBK3tQtqGV3hxr_WVw6UrB7imO_a内容目录1 ANR是如何产生的......................

2017-06-22 00:28:55 3563

转载 android crash 三 Android Tombstone 分析

1.什么是tombstone当一个动态库(native 程序)开始执行时,系统会注册一些连接到 debuggerd 的 signal handlers,当系统 crash 的时候,会保存一个 tombstone 文件到/data/tombstones目录下(Logcat中也会有相应的信息),文件的确就像墓碑一样记录了死亡了的进程的基本信息(例如进程的进程号,线程号),死亡的地址(在哪个地址

2017-06-22 00:26:37 1861 1

转载 android crash 二 Android端线上NativeCrash收集的两种方法(下)

上文中介绍了基于google-breakpad的NativeCrash日志收集方法的全过程,但其有个缺陷就是生成的通用SO和dmp日志比较大,对sdk大小有严格要求的APP不是很方便,且不利于收集线上用户的NativeCrash数据(需要在wifi情况下收集)。本文介绍另外一种基于linux信号处理的轻量级方法。实现原理基于linux信号异常处理的NativeCrash收集

2017-06-21 23:55:26 1480 1

转载 android crash 一 Android端线上NativeCrash收集的两种方法(上)

什么是NativeCrash       Android端crash可分为Java crash和Native crash,我们通常说的crash一般指的是Java层crash,Native crash主要指C/C++代码(其在Android工程中以动态链接库的形式存在)的崩溃,一般难以抓取。下图为Android系统框架图,NativeCrash主要就是在图中红框部分发生的崩溃。

2017-06-21 23:43:29 1656 1

转载 Monkey测试5——补充

一 测试apk集合APK应用集合分为黑名单和白名单,黑名单是指系统将执行除了黑名单中以外的apk;白名单则是只执行在白名单中的apk。  黑名单的设置方法:a.创建一个名称为blacklist的txt文档,在文件中输入应用程序的包名,如mms应用,则在文件中输入com.android.mms;如果有多个应用程序不想被执行,则在文件中添加多个包名,注意包名与包名之

2017-06-21 18:34:10 205

转载 如何停止Monkey测试

当我们运行Monkey测试时,命令发出之后,手机便开始执行monkey命令了。Monkey命令具体用法如下图所示:网上大部分人认为monkey开始测试之后,就不能停止,除非时间数执行完成,或者在cmd窗口执行adb reboot来进行手机重启操作。其实,还有其他办法来终止monkey测试,下面我们来详细谈谈。首先,我们运行adb shell,然后输入如下命令:

2017-06-21 18:21:22 1307

转载 Android之Monkey全参数(包含隐藏参数)

参数如下:注意:以下例子中命令均为Windows cmd命令窗口运行环境,往外官网列出的参数并不是全部参数,更全的参数要看monkey源代码。一、常规1、-help作用:列出简单的用法。例:adb shell monkey -help注:一般很少用到此参数,偷懒的做法直接输入adb shell monkey就可以看到简单用法列表。

2017-06-21 18:19:40 207

转载 Monkey测试4——Monkey命令行可用的全部选项

Monkey命令行可用的全部选项常规--help列出简单的用法。-v命令行的每一个-v将增加反馈信息的级别。Level 0(缺省值)除启动提示、测试完成和最终结果之外,提供较少信息。Level 1提供较为详细的测试信息,如逐个发送到Activity的事件。Level 2提供更加详细的设置信息,如测试中被选中的或未被选中的Activit

2017-06-21 18:18:07 223

转载 Monkey测试3——Monkey测试结果分析

Monkey测试结果分析一. 初步分析方法:Monkey测试出现错误后,一般的差错步骤为以下几步:1、 找到是monkey里面的哪个地方出错2、 查看Monkey里面出错前的一些事件动作,并手动执行该动作3、 若以上步骤还不能找出,可以使用之前执行的monkey命令再执行一遍,注意seed值要一样一般的测试结果分析:1、 ANR问题:在日志中

2017-06-21 18:17:16 421

转载 Monkey测试2——Monkey测试策略

Monkey的测试策略一. 分类Monkey测试针对不同的对象和不同的目的采用不同的测试方案,首先测试的对象、目的及类型如下:测试的类型分为:应用程序的稳定性测试和压力测试测试对象分为:单一apk和apk集合测试的目的分为:解决问题的测试(忽略异常的测试)和验收测试(不忽略异常的测试)二. 应用程序的稳定性测试:1. 针对单个apk(

2017-06-21 18:14:48 302

转载 Monkey测试1——Monkey的使用

Monkey工具使用一、 什么是MonkeyMonkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中。它向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、手势输入等),实现对正在开发的应用程序进行压力测试。Monkey测试是一种为了测试软件的稳定性、健壮性的快速有效的方法。二、 Monkey的特征1、 测试的对象仅为应用程序包,有一定的局限

2017-06-21 18:13:46 256

转载 Linux中查看socket状态

Linux中查看socket状态:cat /proc/net/sockstat #(这个是ipv4的)sockets: used 137 TCP: inuse 49 orphan 0 tw 3272 alloc 52 mem 46 UDP: inuse 1 mem 0 RAW: inuse 0 FRAG: inuse 0 memory 0说明:sockets: used:已使用

2017-03-31 10:53:21 1612

转载 Linux中查看socket状态

Linux中查看socket状态:cat /proc/net/sockstat #(这个是ipv4的)sockets: used 137 TCP: inuse 49 orphan 0 tw 3272 alloc 52 mem 46 UDP: inuse 1 mem 0 RAW: inuse 0 FRAG: inuse 0 memory 0说明:sockets: used:已使用

2017-03-31 10:52:26 1883

转载 Android中startActivity中的permission检测与UID机制

我们经常在一个activity中去start另一个activity,或者与另一个acitivity的结果进行交互(startActivityForResult)。但有没有想过可能会出现的permission问题呢?如果你遇到了permission denial的Exception,那么你需要读读这篇文章啦。 我们在同一个application内部,可以随意的startActivity fr

2017-02-28 16:26:02 269

转载 存储卡参数探究

如今是高清时代对于存储卡的容量、速度的要求越来越高,于是存储卡更新换代的产品就相继的出现8G、16G、32G甚至64G,同时也产生了一些令人不是很明白的参数:SDHC、Class4、Class6、Class10,令一些挑选存储卡的人比较纠结于这些参数。今天跟大家学习普及下这些参数,然后了解这些参数后,结合自己的需求挑选起来就容易的多。首先SD卡最大的储存最大容量为2G,由于不能满足目前的需

2016-12-30 11:02:07 1067

转载 android判断是否后台运行

public static boolean isBackground(Context context) { ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); List appProcesses = activityManage

2016-11-23 20:46:13 694

原创 mac系统sourcetree外部比对工具不能启用

https://answers.atlassian.com/questions/327098/sourcetree-external-diff-tool-doesn-t-launch-and-conflicts-disappear刚开始好好的,后来就不能使用了,可能是安装了android studio的原因1 修改设置项,允许sourcetree的设置影响全局2 进入external

2016-11-16 14:53:28 1834

原创 自定义Seekbar调用getProgressDrawable后高度变了

问题描述:自定义Seekbar,因昼夜效果,需要更换progressDrawable,调用setProgressDrawable()后,发现Seekbar的高度发生了变化问题原因:xml文件中设置了maxHeight,调用setProgressDrawable()后无效了解决办法:Drawable draw = getResources().getDrawable(dr

2016-11-09 16:35:21 3588 8

转载 正确使用Android性能分析工具——TraceView

最近公司app中有些列表在滑动的时候会有卡顿现象,我就开始着手解决这些问题,解决问题之前首先要分析列表滑动的性能瓶颈在什么地方。因为之前不会正确使用TraceView这个工具,主要是看不懂TraceView界面下方数据指标的值代表什么意思…以前我用StopWatch类来分析性能,现在觉得弱爆了…不过有些地方StopWatch工具类还是很简单好用的~网上可以找了很多博客来介绍这个工具的使用方

2016-09-27 22:23:18 212

原创 PhpStorm调试

一 单文件调试 1 简单创建工程,新建php文件,右键Debug,选中php图样的文件,进行调试 二 程序多文件调试(本地工程目录和服务器文件夹目录相同) 1 创建工程,进入DebugConfigurations,新建PHP Web Application(图1) 2 配置服务器(图2) 3 部署服务器(图3,4) 4 设置Deb

2016-09-19 16:29:07 382

转载 Git fetch和git pull的区别

Git中从远程的分支获取最新的版本到本地有这样2个命令:1. git fetch:相当于是从远程获取最新版本到本地,不会自动merge    Git fetch origin mastergit log -p master..origin/mastergit merge origin/master    以上命令的含义:   首先从远程的origin的master主分支下载最新的版本到

2016-09-15 16:33:58 217

转载 利用“反射”动态加载R文件中的资源

小结:1 R.drawable也是一个类,通过.class获取类对象2 Filed类表示的就是类中的成员变量,成员变量本身就有另一个叫法“域”(Filed)。每一个类都有这么一个方法getField。声明如下: public Field getField(String name)。 这个是属于Class类型的方法,java中每一个类都有一个对应的Class类型的对象(Class

2016-09-07 11:22:29 387

转载 Java方法的可变参数个数

许多Java新人在看到下面的这段代码的时候,都会问一个问题:dealArray方法里那三个小点点是什么啊?[java] view plaincopypublic class TestVarArgus {      public static void dealArray(int... intArray){           

2016-09-05 20:34:54 324

转载 unsupported major.minor version 52.0

The issue is because of Java version mismatch. Referring to the Wikipedia Java Class Reference :J2SE 8 = 52J2SE 7 = 51 J2SE 6.0 = 50 J2SE 5.0 = 49JDK 1.4 = 48JDK 1.3 = 47JDK 1.2 = 46JDK 1.1 = 45

2016-08-30 19:06:58 781

原创 socket连接地址相关问题

1 地址说明gethostbyname和gethostbyaddr这两个函数仅仅支持IPv4,getaddrinfo函数能够处理名字到地址以及服务到端口这两种转换,返回的是一个sockaddr结构的链表而不是一个地址清单。这些sockaddr结构随后可由套接口函数直接使用。如此一来,getaddrinfo函数把协议相关性安全隐藏在这个库函数内部。应用程序只要处理由getaddrinfo函数

2016-08-25 23:52:00 594

原创 Mac下简单socket连接代码

////  main.m//  DMTCPClient////  Created by 无痕 on 16/3/23.//  Copyright © 2016年无痕. All rights reserved.//#import #import #import #import #impo

2016-08-25 23:49:11 5272

转载 史上最佳 Mac+PhpStorm+XAMPP+Xdebug 集成开发和断点调试环境的配置

在上一篇 PHP 系列的文章 《PHP 集成开发环境比较》 中 ,我根据自己的亲身体验,非常简略的介绍和对比了几款常用的集成开发环境 ,就我个人而言,比较推崇 Zend Studio  和 PhpStorm ,在随手问过度娘和谷歌之后,我发现可以搜到很多 Windows 下介绍配置的版本,却鲜有关于 Mac 下的配置信息,于是我决定自己写一篇。 本文主要阐述在 Mac 下对 PhpSt

2016-08-23 22:56:58 388

转载 Android中使用SDcard进行文件的读取

平时我们需要在手机上面存储想音频,视频等等的大文件,以前学过使用File进行存储(使用File操作进行存储);由于考虑到手机本身的存储空间小,这时候我们需要把文件存储在SDcard中,今天自己也学习了一下在android进行sdcard的存储使用方法;    首先如果要在程序中使用sdcard进行存储,我们必须要在AndroidManifset.xml文件进行下面的权限设置:

2016-08-23 22:53:51 763

转载 Android存储访问及目录

Android存储访问及目录 Android的外部存储  Android支持外部存储(case-insensitive filesystem with immutable POSIX permission classes and modes)。  外部存储可以通过物理介质提供(如SD卡),也可以通过将内部存储中的一部分封装而成,设备可以有多个外部存储实例。 

2016-08-23 22:39:16 260

转载 Mac安装Appium

命令行安装安装brew1)安装命令:ruby -e "$(curl -fsSLhttps://raw.githubusercontent.com/Homebrew/install/master/install)"查看版本brow –v2)移除命令:    rm -rf /usr/local/Cellar/usr/local/.git && brew cleanup安装n

2016-08-02 21:17:14 436

Android 使用AIDL跨进程通信--传递自定义对象

Android 使用AIDL跨进程通信--传递自定义对象 服务端进程-SystemApp(包含IRemoteBinder.aidl,Book.aidl) 客户端进程-ClientApp

2017-11-08

空空如也

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

TA关注的人

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