Android 在 Eclipse 项目中使用 Leakcanary 内存泄露检测

一、前言 Leakcanary 是 Square 公司推出的一款开源项目,如果说没听说过 Leakcanary 的话,那 Square 的其他产品应该有听说过吧,曾推出过 okhttp,retrofit,picasso 等开源项目。Leakcanary 呢,是用于检测项目的内存泄露的,使用起来也很简单,但是这个项目是用于 Android Studio 的,至于 在 Android Studio 里怎么使用这里就不说了,打开上面的 Leakcanary 那个 Github 链接里面有说,由于一些人习惯用 Eclipse,或者一些之前在 Eclipse 中开发的老项目还没转成 Android Studio 的那怎么用这个 Leakcanary来检测内存泄露 ......

JNI与C++的数据类型转换

std::string转jstring jstring ToJString(JNIEnv* env, const std::string& value) { return env->NewStringUTF(value.c_str()); } jstring转std::string std::string ToCppString(JNIEnv* env, jstring value) { jboolean isCopy; const char* c_value = env->GetStringUTFChars(value, &isCopy); std::string result(c_value); if (isCopy == JNI_TRUE) env->ReleaseStringUTFChars(value, c_value); return result; } bool转jboolean jboolean ToJBool(bool value) { return valu ......

Android适配——drawable和values的加载规则

Google搞了一大套 dip、sp、mdpi、hdpi、xhdpi之类的这些东西,简单说来,就是为了让我们轻松实现“与设备密度无关的视觉大小一致性”,这里需要明确的“视觉大小一致性”,就是说无论是在手机、低分辨率平板、高分辨率平板上,这个控件或者图片在物理尺寸上都是一样的。 这里我们借 @雨打萍 的一张图片来看看: (出处: http://blog.csdn.net/xiebudong/article/details/37040263) 其中,黑色和蓝色矩形的视觉大小就是一致的。 另外一个需要明确的是屏幕密度、分辨率、物理尺寸之间的关系: 以一个分辨率为1920×1200,物理尺 ......

Android P预览版发布,新特性不容错过!

文章转载至:http://club.huawei.com/thread-15344398-1-1.html 导读: 北京时间2018年3月8日,谷歌Android P开发者预览版在万众瞩目中发布,安卓绿色联盟邀请华为专家为广大开发者及各大加固厂商解读P版本中那些不容错过的新特性。华为终端开放实验室也将围绕P版本开展一系列的测试、交流活动,欢迎关注!     Android P 应用适配新特性 1  Private API     Android P 禁止应用通过发射调用系统hide标注的类、方法和属性,加入黑名单的私有接口被反射调用会返回null或者出现异常。     从目前的情况来看黑名单是空 ......

Android热更新技术的研究与实现(三)

微信 Tinker 看完上面的Qzone超级补丁方案,我们不禁会想有没有那么一种方案,能做到开发透明,但是却没有QZone方案的缺陷呢?肯定是有的,比如我们完全可以使用新的Dex,那样既不出现Art地址错乱的问题,在Dalvik也无须插桩。当然考虑到补丁包的体积,我们不能直接将新的Dex放在里面。但我们可以将新旧两个Dex的差异放到补丁包中,最简单我们可以采用BsDiff算法。 Tinker是微信官方的Android热补丁解决方案,它支持动态下发代码、So库以及资源,让应用能够在不需要重新安装的情况下实现更新。 Tinker和以往的HotFix库思路不太一 ......

Android热更新技术的研究与实现(二)

Sophix—阿里终极热修复方案 不过阿里作为大厂咋可能没有个自己的热更新框架呢,所以阿里爸爸最近还是做了一个新的热更新框架SopHix 巴巴再次证明我是最强的,谁都没我厉害!!!因为我啥都支持,而且没缺点。。简直就是无懈可击! 那么我们就来项目集成下看看具体的使用效果吧! 先去创建个应用: 获取AppId:24582808-1,和AppSecret:da283640306b464ff68ce3b13e036a6e 以及RSA密钥**。三个参数配置在application节点下面: <meta-data android:name="com.taobao.android.hotfix.IDSECRET" android:v ......

Android热更新技术的研究与实现(一)

Android热更新技术的研究与实现(一) ——必备引言—— 本文因为篇幅较长,可能会有错别字出现,望见谅。 第一部分重点是将当下热门的热更新方案实现之后再研究,第二部分则是自己动手实现一个自己的热更新框架。 Android热更新技术的研究与实现之研究篇 ———概念讲解——– 热更新 相关概念 这个词出现的时间已经很久了,感觉现在要找工作才来看是晚了不少,但是好东西什么时候学习都不晚的。 今天看到一句话,和大家分享下,人一生有三样东西是别人抢不走的: 吃进胃里的食物 藏在心中的梦想 读进大脑里的书所以趁着我们的时光正好,多学 ......

Android热更新方案之阿里AndFix 原理以及源码解析

源码路径:https://github.com/alibaba/AndFix 原理: 修复过程: 源码解析过程如下: patchManager=newPatchManager(context); patchManager.init(appversion);//current version   patchManager做了以下工作: public PatchManager(Context context) {    mContext = context;    mAndFixManager = new AndFixManager(mContext);    mPatchDir = new File(mContext.getFilesDir(), DIR);    mPatchs = new ConcurrentSkipListSet<Patch>();    mLoaders = new ConcurrentHashMap<String, ClassLoader>(); ......

Android5.0,6.0,7.0,8.0新特性整理

Android 5.0行为变更 API级别:21 1. Android Runtime(ART) 大多数 Android 应用无需任何更改就可以在 ART 下工作。不过,部分适合 Dalvik 的技术并不适用于 ART。如需了解有关最重要问题的信息,请参阅在 Android Runtime (ART) 上验证应用行为。如存在以下情况,应特别注意: 您的应用使用 Java 原生接口 (JNI) 运行 C/C++ 代码。 您使用生成非标准代码的开发工具(例如,一些代码混淆工具)。 您使用与压缩垃圾回收不兼容的技术 2. 声音和振动 如果您当前使用 Ringtone、MediaPlayer 或 Vibrator 类向通知中添加声音和振动,则移 ......

GDCB勒索病毒免费破解

2018-02-28遭遇第一次病毒,起源于http://www.mob.com的一个网页,在Google浏览器中打开提示字体更新,下载字体后,就被迅速的篡改成GDCB文件了。

经过两天和数据公司的人讲价,最终放弃了,自己寻思国外找一下是否有破解之法,于是搜索到了。

最终下载得到一下软件:

http://download.csdn.net/download/guluo2010/10267014

 

请各位看官看清楚,本人为google得到资源,该软件是否存在后门,是否也是病毒我不得而知。请各位自行考虑下载,其他后果,概不负责

java string 首字母大写方法

/** * 首字母大写 * * @param string * @return */ public static String toUpperCase4Index(String string) { char[] methodName = string.toCharArray(); methodName[0] = toUpperCase(methodName[0]); return String.valueOf(methodName); } /** * 字符转成大写 * * @param chars * @return */ public static char toUpperCase(char chars) { if (97 <= chars && chars <= 122) { chars ^= 32; } return ......

所有iOS设备的屏幕分辨率

iPhone: iPhone 1G 320×480 iPhone 3G 320×480 iPhone 3GS 320×480 iPhone 4 640×960 iPhone 4S 640×960 iPhone 5 640×1136 iPhone 5S 640×1136 iPhone 5C 640×1136 iPhone 6 750×1334 iPhone 6 Plus 1080×1920 (开发应按照1242×2208适配) iPhone 6S 750×1334 iPhone 6S Plus 1080×1920 (开发应按照1242×2208适配) iPhone SE 640×1136 iPhone 7 750×1334 iPhone 7 Plus 1080×1920 (开发应按照1242×2208适配) iPod Touch: iPod ......

Android Asset Studio 图标在线生成工具的使用

文章转至:http://romannurik.github.io/AndroidAssetStudio/index.html 之前一直在用一个叫做Android Icon Creator的插件,可以直接在Android Studio的插件里搜索,这个工具的优点是可以生成适应各种分辨率的一套图标,有好几种风格的图标资源,遗憾的是虽然有很多套图标风格,毕竟是有限的。 Android Asset Studio可以自己选择其内置的图标,也可以从本地文件选择图标,提供了7种图标生成工具,分别是app启动图标,shortcut图标,动画图标,通知栏图标,.9图标,普通图标,actionbar或者tab上的图标。 如果你不喜欢它本身提供的 ......

Gradle 完整指南(Android)

转载http://www.jianshu.com/p/9df3c3b6067a 前言 为什么需要学Gradle? Gradle 是 Android 现在主流的编译工具,虽然在Gradle 出现之前和之后都有对应更快的编译工具出现,但是 Gradle 的优势就在于它是亲儿子,Gradle 确实比较慢,这和它的编译过程有关,但是现在的Gradle 编译速度已经有了成倍提高。除此之外,相对其他编译工具,最重要的,他和 Android Studio 的关系非常紧密,可以说对于一些简单的程序我们几乎不需要任何代码上的配置只使用 Android Studio 就可以完成编译和运行。 但是对于一些比较复杂的,特别是多人团队 ......

Android Studio 一个工程打包多个不同包名的APK

文章摘自:http://blog.csdn.net/JohanMan/article/details/78217194?locationNum=10&fps=1 公司最近有个特别的需求,同一套代码,稍做修改(如包名不一样,图标不一样,应用名不一样等),编译出几个不同的应用。刚好用AS重构完项目,在网上查阅了一些资料,终于搞定!!在这记录一下。 AS主要是利用gradle来实现这个需求的,具体做法如下: 修改app的build.gradle文件 假设我们同一套代码编译2个app:app1和app2 android { ... productFlavors { // app1 app1 { // 设置applicat ......

android中的LaunchMode详解—-四种加载模式

Activity有四种加载模式: standard singleTop singleTask singleInstance 配置加载模式的位置在AndroidManifest.xml文件中activity元素的launchMode属性: standard standard模式,也就是默认模式,不需要配置launchMode。就是每次跳转时都需要创建该Activity的新实例,点击返回键,可以看到的是按照刚才创建Activity实例的倒序依次出现,类似退栈的操作,而刚才跳转的操作就是压栈的操作。 singleTop singleTop和standard模式,都会将intent发送新的实例(后两种模式不发送到新的实例,如果已经有了的话)。不 过,singleTop要 ......

开源安卓Http文件下载框架file-downloader的使用

文章转至:https://www.cnblogs.com/wlfcolin/p/5001363.html file-downloader Github:https://github.com/wlfcolin/file-downloade FileDownloader是一套非常轻量级的安卓通用Http文件下载管理器。目标是让文件下载越简单越好,尽可能以最简洁明了的方式完成复杂需求。 一、特点 多任务并行下载、自动断点续传、失败自动重试机制、支持大文件(超过2G)下载、强大方便的异常处理和异常恢复机制、轻松管理下载文件的生命周期(下载文件的增删改查)等。 二、非常适合的使用场景 1、需要多页面多方位同步下载进度和下载状态( ......