技术类
zhangjilei1986
通信(设备·运营·增值服务) | 百度 | 中国
展开
-
mac android apk反编译
在mac os系统上反编译android apk,首先需要准备好以下3个文件:1、apktool:https://ibotpeaches.github.io/Apktool/install/ 2、dex2jar:https://github.com/pxb1988/dex2jar 3、jd-gui:http://jd.benow.ca 下载好后,就可以开始我们的反编译之路了:1、安装apktoo...原创 2018-05-05 15:34:07 · 302 阅读 · 0 评论 -
activity生命周期问题,两个activity之间跳转的onstop和ondestroy
有A,B两个Activity,A上面有一个button,b里面是空的。操作是点击A上面的button,跳转到B,然后按返回(手机上的按钮,不是自己建的),回到A从程序运行开始,A----oncreateA----onstartA----onresumeA----onpause B----oncreateB----onstartB----onresume原创 2016-10-24 17:16:31 · 1152 阅读 · 0 评论 -
启动Activity的流程(Launcher中点击图标启动)
启动Activity一般有多种方式,常见的有三种:在Launcher桌面点击app图标调用startActivity启动一个Activity命令am start启动这三种方式在服务端的处理方式基本相同,客户端的请求方式也差别不大,理解其中之一就可以类推到其他方式。本文结合案例分析在Launcher桌面点击app图标启动应用的方式,再简要给出其他两种方式的区别转载 2016-08-26 17:16:15 · 4792 阅读 · 0 评论 -
http://blogread.cn/it/article/8026
http://blogread.cn/it/article/8026转载 2016-08-26 17:00:54 · 577 阅读 · 0 评论 -
SecureCRT 7.3.4破解版(含注册机)
不用说你肯定知道SecureCRT用途是什么,这个号称最好用的ssh连接工具却不是免费的,所以找了很久才找到最新版本的SecureCRT 7.3.4破解版,其实只要是SecureCRT 7.3.x版本都可以破解的,下面是SecureCRT 7.3的官方安装文件和SecureCRT 7.3注册机,你也可以直接从官方下载最新版本,来采用SecureCRT 7.3 key文件来激活,都一样。Secu转载 2016-09-01 17:59:48 · 1142 阅读 · 0 评论 -
android坐标
说来说去都不如 画图示意 简单易懂啊!!!真是的! 来吧~~先上张图~~!(一)首先明确一下 Android 中的坐标系统 : 屏幕的左上角是坐标系统原点(0,0) 原点向右延伸是X轴正方向,原点向下延伸是Y轴正方向 (二)关于Scroll: 屏幕显示的内容很多时,会有超出一屏的情况,于是就产生了Scroll的概念。原创 2016-06-12 16:09:57 · 2212 阅读 · 0 评论 -
adb logcat 命令行用法
本文为转载。作者 :万境绝尘 转载请著名出处eclipse 自带的 LogCat 工具太垃圾了, 开始用 adb logcat 在终端查看日志;1. 解析 adb logcat 的帮助信息在命令行中输入 adb logcat --help 命令, 就可以显示该命令的帮助信息;[plain] v转载 2016-05-23 17:02:40 · 528 阅读 · 0 评论 -
TortoiseGit 使用教程
Git的使用越来越广泛使用命令比较麻烦,下面讲解一下tortoisegit的使用先下载安装git(msysgit)和tortoisegit,安装后提示重启电脑,不解释1.找一个文件夹做仓库这里用repository\shared.gif,空白处点击右键出现以下菜单,创建共享仓库在弹出的对话框勾选make it bare 第一次原创 2016-05-06 15:00:58 · 1031 阅读 · 0 评论 -
Android 触摸事件传递机制
版权声明:本文为博主原创文章,未经博主允许不得转载。Android系统中的每个View的子类都具有下面三个和TouchEvent处理密切相关的方法:1)public boolean dispatchTouchEvent(MotionEvent ev) 这个方法用来分发TouchEvent2)public boolean onInterceptTouchEvent(Motion原创 2016-05-16 11:51:15 · 313 阅读 · 0 评论 -
Android 使用SWIG生成Jni代码
一,下载SWIG,并设置好环境变量二以HelloJni为例子 导入ndk sample的HelloJni工程。 三 创建SWIG接口文件 在jni目录下新建文件Unix.i,输入SWIG代码:[cpp] view plain copy print?%module U原创 2016-04-05 18:10:44 · 1036 阅读 · 0 评论 -
利用Android Studio、MAT对Android进行内存泄漏检测
项目进入维护阶段时才有时间测试分析app的内存问题,这时就要用到测试工具了,可以使用Android Studio、MAT互相结合进行测试,但是对于复杂的,这两者很难分析出来,但这两测试工具也是必须掌握的,感觉网上大多文章讲得不怎么细致,所以想写篇文章记录下android开发中难免会遇到各种内存泄漏,如果不及时发现处理,会导致出现内存越用越大,可能会因为内存泄漏导致出现各种奇怪的crash,原创 2017-08-22 20:31:08 · 250 阅读 · 0 评论 -
git revert 用法
git revert 撤销 某次操作,此次操作之前和之后的commit和history都会保留,并且把这次撤销作为一次最新的提交 * git revert HEAD 撤销前一次 commit * git revert HEAD^ 撤销前前一次 commit * git revert commit (比如原创 2017-11-10 11:19:31 · 498 阅读 · 0 评论 -
Gradle插件用户指南
内容1介绍1.1为什么选择Gradle?1.2要求2基本项目设置2.1简单的构建文件2.2项目结构2.2.1配置结构2.3构建任务2.3.1一般任务2.3.2 Java项目任务2.3.3 Android任务2.4基本构建定制2.4.1清单条目2.4.2构建类型2.4.3签署配置3个依赖项,Android库和多项目设置3.1二进制包的依赖关系3.1.1本地软件包3.1.2远程工件3.2多项目设置3....原创 2018-05-01 19:14:18 · 228 阅读 · 0 评论 -
Mac配置adb环境变量
1.打开terminal终端。 2.进入当前用户的home目录。 3.创建.bash_profile文件,输入命令:touch .bash_profile 4.打开.bash_profile文件,命令行输入open -e .bash_profile 此命令行输入完毕后,会自动弹出 .bash_profile 文件的编辑窗口 5.编辑.bash_profile文件,内容如下:ANDROID_HOME...原创 2018-04-30 17:31:31 · 232 阅读 · 0 评论 -
API接口规范完整版本
整体规范建议采用RESTful 方式来实施。 协议API与用户的通信协议,总是使用HTTPs协议,确保交互数据的传输安全。 域名应该尽量将API部署在专用域名之下。https://api.example.com如果确定API很简单,不会有进一步扩展,可以考虑放在主域名下。https://example.org/api/ api版本控制应该将API的版本号放入URL。https://api.exam...原创 2018-04-30 17:24:55 · 24461 阅读 · 1 评论 -
知识普及:Team Leader 的职责范围
本文旨在普及知识,纯属原创,欢迎讨论,欢迎转载。——————前言——————一般来说,项目团队由多个小组构成,包括业务需求分析组、设计组、开发组、测试组、技术服务组等,每个小组都有一名Team Leader(下文简称TL)对组内工作负责。随着大家工作经验的不断积累,能力的不断提升,在熟练掌握一线工作技能后,每个人都有机会成为Team Leader,然而在机会到来前,我们必须提前做好原创 2017-12-25 11:57:42 · 13443 阅读 · 0 评论 -
为什么Dialog不能用Application的Context
为什么Dialog不能用Application的Context有网友在我的一篇和Context相关的面试题文章提到这个问题。我觉得一两句话,不好说清楚(我需要一些图表),所以用这篇文章来回答一下。先试一下用Application的上下文来创建Dialog,在调用它的show方法时程序会Crash,LogCat的异常信息如下:Caused by: android.view.Win原创 2017-12-22 14:34:15 · 357 阅读 · 0 评论 -
java创建线程的三种方式及其对比
Java中创建线程主要有三种方式:一、继承Thread类创建线程类(1)定义Thread类的子类,并重写该类的run方法,该run方法的方法体就代表了线程要完成的任务。因此把run()方法称为执行体。(2)创建Thread子类的实例,即创建了线程对象。(3)调用线程对象的start()方法来启动该线程。package com.thread; public原创 2017-12-20 18:07:36 · 130 阅读 · 0 评论 -
Java之美[从菜鸟到高手演练]之atomic包的原理及分析
Atomic简介Atomic包是java.util.concurrent下的另一个专门为线程安全设计的Java包,包含多个原子操作类。这个包里面提供了一组原子变量类。其基本的特性就是在多线程环境下,当有多个线程同时执行这些类的实例包含的方法时,具有排他性,即当某个线程进入方法,执行其中的指令时,不会被其他线程打断,而别的线程就像自旋锁一样,一直等到该方法执行完成,才由JVM从等待队列中选择一个原创 2017-12-20 16:30:44 · 151 阅读 · 0 评论 -
Android 异步消息处理机制 让你深入理解 Looper、Handler、Message三者关系
很多人面试肯定都被问到过,请问Android中的Looper , Handler , Message有什么关系?本篇博客目的首先为大家从源码角度介绍3者关系,然后给出一个容易记忆的结论。1、 概述Handler 、 Looper 、Message 这三者都与Android异步消息处理线程相关的概念。那么什么叫异步消息处理线程呢?异步消息处理线程启动后会进入一个无限的循环体之中,每循原创 2017-12-20 15:30:16 · 198 阅读 · 0 评论 -
android studio adb连接不上手机 ADB server didn't ACK
问题描述:在eclipse的Logcat出现错误[2014-01-08 14:00:07 - adb] ADB server didn't ACK[2014-01-08 14:00:07 - adb] * failed to start daemon *[2014-01-08 14:07:24 - adb] ADB server didn't ACK[2014-01-08 14:07原创 2016-02-19 15:44:54 · 310 阅读 · 0 评论 -
Java中的基本数据类型
Java是一种强类型语言,这就意味着必须为每一个变量声明一种类型。在Java中,一共有8种基本的数据类型(primitive type),其中有4种整型、2种浮点类型、1种用于表示Unicode编码的字符单元的字符类型char和一种用于表示真值的boolean类型。这些基础类型也叫原始数据类型,在进行数据传递的时候是值传递而不是引用传递。1.Java提供了四种整型:in原创 2016-03-03 16:06:02 · 329 阅读 · 0 评论 -
java修饰符作用域
修饰字可引用的范围同一个类同一个包不同包中的子类不同包中的非子类Private√ Default√√ Pr原创 2016-03-03 15:51:16 · 367 阅读 · 0 评论 -
Android--判断发送短信后的状态/发送成功Or发送失败
相信用过诺基亚手机的朋友可能会记得,在短信发送之后,手机会显示发送手机的状态,Android同样也提供了相应的功能,而且实现这个功能的方法也很简单。首先,我们需要在程序中注册两个权限:1.接收短信的权限2.发送短信的权限[html] view plaincopyuses-permission android转载 2015-07-21 11:44:16 · 825 阅读 · 0 评论 -
android多分辨率多屏幕密度下UI适配方案
相关概念分辨率:整个屏幕的像素数目,为了表示方便一般用屏幕的像素宽度(水平像素数目)乘以像素高度表示,形如1280x720,反之分辨率为1280x720的屏幕,像素宽度不一定为1280屏幕密度:表示单位面积内的像素个数,通常用dpi为单位,即每英寸多少个像素点px:长度单位,以具体像素为单位dp:长度单位,与具体屏幕密度无关,显示的时候根据具体平台屏幕密度的不同最终原创 2015-07-23 11:06:34 · 482 阅读 · 0 评论 -
解析android 流量监测的实现原理
本篇文章是对android中流量监测的实现原理进行了详细的分析介绍,需要的朋友参考下Linux 系统下所有的信息都是以文件的形式存在的,所以应用程序的流量信息也会被保存在操作系统的文件中。Android 2.2 版本以前的系统的流量信息都存放在 proc/net/dev(或者 proc/self/net/dev)文件下,读取文件然后对其进行解析就行了。读取某一个应用原创 2015-05-08 14:35:07 · 679 阅读 · 0 评论 -
Android学习——在线查看android源代码的3种方式
原文:http://blog.csdn.net/chuekup/article/details/80670751. https://github.com/android2. http://grepcode.com/project/repository.grepcode.com/java/ext/com.google.android/android/原创 2015-07-07 15:24:35 · 692 阅读 · 0 评论 -
关于使用apktool可以反编译无法回编译的解决问题
使用apktool进行apk的反汇编时,没有出现问题(有问题的自行解决),但是进行回汇编时出现: F:\apktool>apktool b Hello Hello.apkException in thread "main" brut.androlib.AndrolibException: brut.directory.PathNotExist: apktool.ym原创 2015-07-09 19:17:16 · 4326 阅读 · 2 评论 -
win7 下配置 java 环境变量
首先,你应该已经安装了 java 的 JDK 了,笔者安装的是:jdk-7u7-windows-x64接下来主要讲怎么配置 java 的环境变量,也是为了以后哪天自己忘记了做个备份1、进入“计算机”的“属性”选项,选择“高级系统设置”,如下图所示:2、点击“高级系统设置”后,会看到如下图所示的对话框,选择“环境变量”:3、点击“环境变量”之后,会看到原创 2015-07-23 11:09:54 · 644 阅读 · 0 评论 -
Android性能优化之使用SparseArray代替HashMap
最近在重构one的项目,其中用HashMap来缓存ActivityGroup加载过的View,Eclipse给出了一个警告,之前考虑项目进度没怎么在意,这次仔细看了下提示,如下:Use new SparseArrayView> (...) instead for better performance意思就是说用SparseArray来替代,以获取更好的性能。对SparseArr原创 2015-08-28 11:03:39 · 522 阅读 · 0 评论 -
android-resource-remover的研究和实验
android-resource-remover的研究和实验 写这篇文章的原因是,一个CSDN的资源链接,Android程序员必备精品资源,在该链接的实用工具集锦中有一个工具吸引了我的注意,那就是android-resource-remover,它的解释是:一个简单的工具来删除在你的Android应用程序中未使用的资源从而降低APK文件的大小。联想到之前的项目中,在后期有大量的图片,布原创 2015-08-24 16:30:42 · 435 阅读 · 0 评论 -
解决IllegalStateException: Can not perform this action after onSaveInstanceState
今天使用Fragment的时候,出现了这个错误 IllegalStateException: Can not perform this action after onSaveInstanceState:E/AndroidRuntime(12747): Caused by: java.lang.IllegalStateException: Can not perform th原创 2015-07-28 14:07:26 · 340 阅读 · 0 评论 -
android使用handlerthread创建线程示例
这篇文章主要介绍了android使用handlerthread创建线程,讲解了这种方式的好处及为什么不使用Thread类的原因在android开发中,一说起线程的使用,很多人马上想到new Thread(){...}.start()这种方式。这样使用当然可以,但是多次使用这种方式,会创建多个匿名线程。使得程序运行起来越来越慢。因此,可以考虑使用一个Handler来启动一个线程,当该原创 2015-07-17 16:30:30 · 358 阅读 · 0 评论 -
WeakReference 在android中的应用
首先我们来看一段代码public class AutoActivity extends Activity { Handler handler = new Handler(){ public void handleMessage(android.os.Message msg) { }; }; @Override protected void onCreate(Bundl原创 2015-07-17 11:13:43 · 386 阅读 · 0 评论 -
浅析Java内存模型
版权声明:本文为博主原创文章,转载请注明出处。目录(?)[+]概述Java内存模型的主要目标是定义程序中各个变量的访问规则,即在虚拟机中将变量存储到内存和从内存中取出变量这样的底层细节。此处的变量是线程共享的,存在竞争问题的。Java内存模型规定了所有的变量都存储在主内存,每条线程还有自己的工作内存中保存了被该线程使用到的变量的主内存原创 2015-11-30 19:17:57 · 327 阅读 · 0 评论 -
一键分析Android的BugReport
在Android系统测试中,经常要抓取log,而内置的BugReport功能无异是最方便全面的。那么问题来了,BugReport包含的信息虽多,但分析起来就成了麻烦,当然觉得麻烦的不只我一个,还有space2。这位前辈为此写了一个名为chkbugreport的开源工具,可以直接把对BugReport进行分析,好吧,我的麻烦被别人解决了。同时受同事启发,把chkbugreport工具做了个强化,实现原创 2015-11-18 11:36:49 · 6485 阅读 · 0 评论 -
Android学习系列(29)--App调试的几个命令实践
在Android的应用开发中,我们会用到各种代码调试;其实在Android的开发之后,我们可能会碰到一些随机的问题,如cpu过高,内存泄露等,我们无法简单的进行代码调试,我们需要一个系统日志等等,下面我把握工作中碰到的几个常用命令和方法给大家演示实践一下。1.logcat命令这个命令最简单常用,可查看帮助,我不多说,如果需要打印时间,加参数-v timeadb logcat -原创 2015-11-18 11:20:15 · 359 阅读 · 0 评论 -
adb 命令 dumpsys activity , 用来看 task 中的activity。
在模拟器上把这个应用程序再次跑起来,用“adb shell dumpsys activity”命令再来查看一下系统运行的的任务,就会看到:[html] view plaincopyRunning activities (most recent first): TaskRecord{4069c020 #4 A shy.lu原创 2015-10-20 10:45:05 · 421 阅读 · 0 评论 -
adb shell dumpsys的使用
该命令用于打印出当前系统信息,默认打印出设备中所有service的信息,可以在命令后面加指定的service name.有两种方法可以查看service list:1. adb shell dumpsys输出信息的开始部分就是所有运行的service,如下:Currently running services:SurfaceFlinger:accessi原创 2015-10-20 11:00:30 · 397 阅读 · 0 评论 -
Android 应用内多进程实现
android平台支持多进程通信,也支持应用内实现多进程那么多进程应该能为我们带来什么呢我们都知道,android平台对应用都有内存限制,其实这个理解有点问题,应该是说android平台对每个进程有内存限制,比如某机型对对进程限制是24m,如果应用有两个进程,则该应该的总内存限制是2*24m。使用多进程就可以使得我们一个apk所使用的内存限制加大几倍。所以可以借此图片平台对应用的内存限原创 2015-07-15 10:33:35 · 524 阅读 · 0 评论