- 博客(57)
- 收藏
- 关注
转载 解析Android开发优化之:对Bitmap的内存优化详解
在Android应用里,最耗费内存的就是图片资源。而且在Android系统中,读取位图Bitmap时,分给虚拟机中的图片的堆栈大小只有8M,如果超出了,就会出现OutOfMemory异常。所以,对于图片的内存优化,是Android应用开发中比较重要的内容1) 要及时回收Bitmap的内存Bitmap类有一个方法recycle(),从方法名可以看出意思是回收。这里就有疑问了,Andr
2015-07-16 17:10:14
619
转载 根据ImageView的大小来压缩Bitmap,避免OOM
Bitmap是引起OOM的罪魁祸首之一,当我们从网络上下载图片的时候无法知道网络图片的准确大小,所以为了节约内存,一般会在服务器上缓存一个缩略图,提升下载速度。除此之外,我们还可以在本地显示图片前将图片进行压缩,使其完全符合imageview的大小,这样就不会浪费内存了。一、思路思路:计算出要显示bitmap的imageview大小,根据imageview的大小压缩bitmap,最终让bi
2015-07-16 16:56:52
767
转载 Activity的生命周期,BACK键和HOME键生命周期
Activity的生命周期模型在Google提供的官方文档上有比较详细的一个图示 public class HelloActivity extends Activity { public static final String TAG = "HelloActivity"; /** * 第一个被运行的方法 * 初始化页面 * Bun
2015-07-16 09:10:11
791
转载 基于 Android NDK 的学习之旅----- C调用Java
许多成熟的C引擎要移植到Android 平台上使用 , 一般都会 提供 一些接口, 让Android sdk 和 jdk 实现。下文将会介绍 C 如何 通过 JNI 层调用 Java 的静态和非静态方法。 1、主要流程1、 新建一个测试类TestProvider.javaa) 该类提供了2个方法b) 一个静态的方法,一个非静态的方法2、
2015-06-30 13:46:02
510
转载 使用AIDL实现进程间的通信
在Android中,如果我们需要在不同进程间实现通信,就需要用到AIDL技术去完成。AIDL(Android Interface Definition Language)是一种接口定义语言,编译器通过*.aidl文件的描述信息生成符合通信协议的Java代码,我们无需自己去写这段繁杂的代码,只需要在需要的时候调用即可,通过这种方式我们就可以完成进程间的通信工作。关于AIDL的编写规则我在这里
2015-06-30 13:02:38
521
转载 openssl移植Android使用及其相关经验分享
1. linux安装openssl库参见《精通PKI网络安全认证技术与编程实现》2.3.2节 Linux下搭建OpenSSL开发环境Linux下面解压tar.bz2文件:tar jxvf android-ndk-r5c-linux-x86.tar.bz2 2. 配置NDK的环境变量在~/.bashrc文件末尾添加:NDK=~/and
2015-06-30 10:23:20
3223
转载 Android 混淆代码总结
为了防止自己的劳动成果被别人窃取,混淆代码能有效防止被反编译,下面来总结以下混淆代码的步骤:1. 大家也许都注意到新建一个工程会看到项目下边有这样proguard-project.txt一个文件,这个对混淆代码很重要,如果你不小心删掉了,没关系,从其他地方拷贝一个过来2. 最重要的就是在proguard-project.txt添加混淆的申明了: a. 把所有你的jar包
2015-06-29 16:58:41
333
转载 Android JNI之OpenSSL
需求: 通过C代码实现Https的Post操作。方案: 1.选择支持HTTPS的开源库OpenSSL 2.将OpenSSL编译成.a或.so,是指在工程中编译源码成链接库 3.C代码调用OpenSSL的接口步骤:1. 工具:OpenSSL源码,NDK,Cygwin2. 关键是Android.mk的设计#
2015-06-29 16:46:12
1285
转载 Android NDK开发之Jni调用Java对象
本地代码中使用Java对象通过使用合适的JNI函数,你可以创建Java对象,get、set 静态(static)和 实例(instance)的域,调用静态(static)和实例(instance)函数。JNI通过ID识别域和方法,一个域或方法的ID是任何处理域和方法的函数的必须参数。下表列出了用以得到静态(static)和实例(instance)的域与方法的JNI函数。每个函数接受(作
2015-06-29 16:43:29
467
转载 Android 动态加载(防止逆向编译)技术
最近工作中接到了一个研究防止逆向编译的任务.研究了几天资料,最后基本实现了防破解技术,在这个工程中,也略有一些心得体会,现整理下来分享,供大家探讨参考研究。文中如有纰漏、失实之处,请大家及时给与指正。 防破解技术主要有四种实现方式:1.代码混淆(ProGuard)技术 2.签名比对技术 3.NDK .so 动态库技术 4.动态加载技术. 参考资料:h
2015-06-29 09:09:04
532
转载 Android APK加壳技术方案
一、什么是加壳? 加壳是在二进制的程序中植入一段代码,在运行的时候优先取得程序的控制权,做一些额外的工作。大多数病毒就是基于此原理。PC EXE文件加壳的过程如下: 二、加壳作用 加壳的程序可以有效阻止对程序的反汇编分析,以达到它不可告人的目的。这种技术也常用来保护软件版权,防止被软件破解。
2015-06-29 09:02:43
897
转载 Android实战技巧:深入解析AsyncTask
[-]AsyncTask的介绍及基本使用方法AsyncTask引发的一个问题AsyncTask的内幕与主线程交互线程任务的调度Android23以前的版本也即SDKAPI 10和以前的版本Android 30以后也即SDKAPI 11和以后的版本前面问题的解法AsyncTask的使用注意事项AsyncTask的介绍及基本使用方法关于Async
2015-05-30 13:42:58
411
转载 Handler+ExecutorService(线程池)+MessageQueue模式+缓存模式
android线程池的理解,晚上在家无事 预习了一下android异步加载的例子,也学习到了一个很重要的东东 那就是线程池+缓存 下面看他们的理解。[size=1.8em]Handler+Runnable模式我们先看一个并不是异步线程加载的例子,使用 Handler+Runnable模式。这里为何不是新开线程的原因请参看这篇文章:Android Runnable 运行在那
2015-05-29 09:37:04
530
转载 contentprovider的学习实例总结
一、ContentProvider简介 当应用继承ContentProvider类,并重写该类用于提供数据和存储数据的方法,就可以向其他应用共享其数据。虽然使用其他方法也可以对外共享数据,但数据访问方式会因数据存储的方式而不同,如:采用文件方式对外共享数据,需要进行文件操作读写数据;采用sharedpreferences共享数据,需要使用sharedpreferences API读
2015-05-29 09:22:08
447
转载 获取Android设备唯一标识码的几种方式详解
获取Android设备唯一标识码1.概述有时需要对用户设备进行标识,所以希望能够得到一个稳定可靠并且唯一的识别码。虽然Android系统中提供了这样设备识别码,但是由于Android系统版本、厂商定制系统中的Bug等限制,稳定性和唯一性并不理想。而通过其他硬件信息标识也因为系统版本、手机硬件等限制存在不同程度的问题。2.下面收集了一些“有能力”或“有一定能力”作为设备标识的
2015-05-28 12:56:17
8261
转载 自定义控件
开发自定义控件的步骤: 1、了解View的工作原理 2、 编写继承自View的子类 3、 为自定义View类增加属性 4、 绘制控件 5、 响应用户消息 6 、自定义回调函数 一、View结构原理 Android系统的视图结构的设计也采用了组合模式,即View作为所有图形的基类,Viewgroup对View继承扩展为视图容器类。View定义了绘图
2015-05-28 12:53:51
363
转载 Android 官方文档之Activity和Task
目录(?)[-]Activity 和 task 的设计摘要在本文档中参考ApplicationsActivityActivity栈和TaskApplicationActivityActivity栈TaskActivity和Task的一个例子从主屏启动一个Activity按着Activity导航通过BACK键和HOME键离开Activity重用一个Activity代替一个
2015-05-28 12:51:05
607
转载 从源代码分析Android-Universal-Image-Loader的缓存处理机制
讲到缓存,平时流水线上的码农一定觉得这是一个高大上的东西。看过网上各种讲缓存原理的文章,总感觉那些文章讲的就是玩具,能用吗?这次我将带你一起看过UIL这个国内外大牛都追捧的图片缓存类库的缓存处理机制。看了UIL中的缓存实现,才发现其实这个东西不难,没有太多的进程调度,没有各种内存读取控制机制、没有各种异常处理。反正UIL中不单代码写的简单,连处理都简单。但是这个类库这么好用,又有这么多人用,那么非
2015-05-19 13:59:25
376
转载 Android-Universal-Image-Loader 图片异步加载类库的使用(超详细配置)
这个图片异步加载并缓存的类已经被很多开发者所使用,是最常用的几个开源库之一,主流的应用,随便反编译几个火的项目,都可以见到它的身影。 可是有的人并不知道如何去使用这库如何进行配置,网上查到的信息对于刚接触的人来说可能太少了,下面我就把我使用过程中所知道的写了下来,希望可以帮助自己和别人更深入了解这个库的使用和配置。 GITHUB上的下载路径为:htt
2015-05-19 13:53:51
263
转载 Android开源框架ImageLoader的完美例子
2013年8月19日开源框架之Universal_Image_Loader学习很多人都在讨论如何让图片能在异步加载更加流畅,可以显示大量图片,在拖动ListView的时候不会出现卡的现象。关于ImageLoader这个开源框架的使用有很多网友都介绍过,不过还不够清楚,这里有一个关于这个开源项目的完美例子,ListView的图片加载、GridView的图片加载、ViewPager
2015-05-19 13:51:15
690
转载 Android开发--RecyclerView使用,看AndroidL新特性
目录(?)[-]概述基本用法如何为Item添加分割线如何添加点击事件如何判断是否滑动到达尾部或顶部添加或移除数据源码下载在去年Google I/0大会,Google开放了一个全新的视图类RecyclerView,它被用来代替ListView以及GridView,提供更为高效的回收复用机制,同时实现管理与视图的解耦合,今天对这个新的控件来进行一次总结。概述
2015-05-19 13:40:55
413
转载 Android 异步消息处理机制 让你深入理解 Looper、Handler、Message三者关系
转载请标明出处:http://blog.youkuaiyun.com/lmj623565791/article/details/38377229 ,本文出自【张鸿洋的博客】很多人面试肯定都被问到过,请问Android中的Looper , Handler , Message有什么关系?本篇博客目的首先为大家从源码角度介绍3者关系,然后给出一个容易记忆的结论。1、 概述Handler 、 Lo
2015-05-18 13:56:23
319
转载 OPENWRT串口通信的实现
串口设置串口名称(不同机型不同)开机启动信息可以看到串口的名称,例如以下串口启动信息:Serial: 8250/16550 driver, 1 ports, IRQ sharing disabledar933x-uart: ttyATH0 at MMIO 0x18020000 (irq = 11) is a AR933X UARTconsole [ttyATH0] en
2015-05-18 11:28:22
13224
1
转载 Openwrt web服务器:PHP+Nginx安装
正文:在上一节中,我们已经搭建了MySQL数据库了,因此在这一节中,我主要讲解php的安装,以及php的运行环境Nginx的安装。参考(http://www.right.com.cn/forum/thread-89216-1-1.html)一、PHP安装1.安装php软件包。view sourceprint?1.opkg update2.opkg ins
2015-05-18 11:26:15
7251
转载 u盘启动openwrt(含u盘挂载)
----------u盘启动openwrt-------------------------------------------------------made by 空已经格式化u盘好的,可以跳过4,5步,右边出现的1264 to 1168 96 意为flash空间从1264kb变为1168kb 该程序占用了96kb的空间,可不必关注该数字首先,更新软件列表(每次重启路由器后
2015-05-18 11:24:47
7225
转载 TP-LINK WR703N OpenWrt刷机教程(图文详解)
1、下载安装访问WR703N在OpenWrt的Wiki页,然后在Flashing一节中找到下载链接:squashfs-factory.bin。进入路由器管理界面,出厂配置为http://192.168.1.1,用户名和密码均为admin,然后进入固件更新,选择下载的文件,然后更新。等待一段时间(~~2min),然后重启路由。P.S.
2015-05-18 11:20:24
12875
转载 Android自定义控件——音量控制器
Android自定义控件——音量控制器一直有写博客分享技术的打算,但是由于时间关系一直没能开始。今天终于有点空闲时间,所以写了一篇关于自定义控件的应用来练练手。好了,废话不多说,直接进入主题。我看到小米手机上的音量控制是下面第一张图这个造型的,网上也有很多案例,我自己也尝试实现过。不过今天我们要实现的音量控制类型并不是这样,而是经典的小喇叭样式——第二幅图的样式。(做的很丑,将就看看O(∩
2015-05-18 11:18:43
1209
转载 Android HTTP实例 使用GET方法和POST方法发送请求
Web程序:使用GET和POST方法发送请求 首先利用MyEclispe+Tomcat写好一个Web程序,实现的功能就是提交用户信息:用户名和年龄,使用GET和POST两种提交方式。 用浏览器打开: 不管以哪一种方式,提交以后显示如下页面,将提交的信息再显示出来。 关键代码如下:@ page language="jav
2015-05-13 10:20:03
573
转载 Android应用程序的五大基本组件
一、Activity —— 应用表示层( 基类 Activity ) 一个活动表示一个可视化的用户界面,关注一个用户从事的事件。例如,一个活动可能表示一个用户可选择的菜单项列表,或者可能显示照片连同它的标题。一个文本短信应用程序可能有一个活动,显示联系人的名单发送信息;第二个活动,写信息给选定的联系人;其他活动,重新查看旧信息或更改设置。虽然他们一起工作形成一个整体的用户界
2015-05-06 09:19:46
591
转载 修改Android的开机画面
Android系统开机显示画面分成两个过程,第一个过程从按电源键到Frameworks启动为止。第二个过程从Frameworks启动完成到Launcher程序启动完成。第一个过程显示的画面是一张图,第二个过程显示的是一个动画。分别简要记录一下怎么样在源码中修改这两个地方。 第一个过程的修改比较简单,找到/system/core/init/init.h中的宏定义:#d
2015-05-05 09:37:16
514
转载 Android自定义ListView与图片异步加载
转载自:http://blog.youkuaiyun.com/aduovip/article/details/7195193要实现复杂的ListView 功能, 就需要自定义 ListView1. 自定义 ListView 的基本方法2. 实现 BaseAdapter3. 在ListView 中显示主页时间线基本信息ListView 是怎
2015-04-23 11:58:40
408
转载 移动APP项目研发流程及版本规划
一个移动APP项目研发规模可大可小,但都离不开以下几个成员:产品经理、ui设计师、前端开发、后端开发、测试等。如何合理安排项目成员工作、确保项目顺利进行呢?一个清晰合理的项目研发流程控制很重要。项目研发流程一般来说分3个阶段第一阶段:需求策划。在需求阶段产品经理内部进行需求讨论:讨论下版本需求重点是什么,做什么功能,怎么做。通过反复调研、讨论、输出交互方案。
2015-04-23 11:07:30
831
转载 Android Json解析与总结
一、JSON定义JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。 易于人阅读和编写。同时也易于机器解析和生成。 它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言
2015-04-23 08:51:25
423
转载 Android官方的SwipeRefreshLayout
这个是基于最新v4包实现的一个下拉刷新的东东~~~先给大家透露一下,整体很简单,毕竟不是自定义,还请大家放宽心对待!!!废话不多说,直接贴代码package com.bob.swiperefresh;import android.app.Activity;import android.os.Message;import android.support.v4.widget
2015-04-23 08:47:41
239
转载 android应用如何在发布市场时关掉所有的Log日志输出
平时我们在开发android应用时,会经常使用android.utils.Log类来打印日志。但到发布时,往往我们希望关闭Log输出。总不能一条条去注释去删除吧。下面推荐2个办法直接点的,就是重新封装个Log类。然后设个开关。[java] view plaincopypublic class MyLog{
2015-04-23 08:45:23
1293
转载 android锁屏
(基于framework 目录下)一、base/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java 开机执行到:systemReady()方法,调用 mKeyguardMediator.onSystemReady();开始锁屏 修改是否锁屏 public voi
2015-04-23 08:43:48
474
转载 Android 刮刮卡
好久没有写博客了,今天有正好有时间,接下来为大家带来一款电商中要使用的刮刮卡项目,刮刮卡相信大家小时候都玩过,那个时候,可能大家使用的是小纸片的,现在也可以带大家重温小时候的美好时光,今天将这个刮刮卡的项目分享给大家,希望对大家有学习和工作上的帮助。一:先上效果图二:原理分析1.创建一张你想要的bitm
2015-04-23 08:41:15
570
转载 Android L中水波纹点击效果的实现
前段时间android L(android 5.0)出来了,界面上做了一些改动,主要是添加了若干动画和一些新的控件,相信大家对view的点击效果-水波纹很有印象吧,点击一个view,然后一个水波纹就会从点击处扩散开来,本文就来分析这种效果的实现。首先,先说下L上的实现,这种波纹效果,L上提供了一种动画,叫做Reveal效果,其底层是通过拿到view的canvas然后不断刷新view来完成的,这种效
2015-04-09 12:21:09
570
转载 Android中轻松显示Gif图片
大家都知道,Android开发模拟器为了节省内存,一般不支持直接显示gif图片,即使你强制设置了,也只会显示图片的第一帧。看到网上也有许多的方法,来实现此功能,可都比较的繁琐,需要修改android源代码来实现或者用gif解析器来实现。在此文章中,这里教大家一种比较简洁的一个方法,你可以把这个类当做是一种工具类。用的时候,直接搬到程序里面,更改下图片的资源,就可以非常轻松的显示gif图片了。
2015-04-09 08:22:53
577
转载 Android之NDK开发
一、NDK产生的背景 Android平台从诞生起,就已经支持C、C++开发。众所周知,Android的SDK基于Java实现,这意味着基于Android SDK进行开发的第三方应用都必须使用Java语言。但这并不等同于“第三方应用只能使用Java”。在Android SDK首次发布时,Google就宣称其虚拟机Dalvik支持JNI编程方式,也就是第三方应用完全可以通过JNI调用自己的C
2015-04-07 13:42:39
387
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人