- 博客(89)
- 资源 (15)
- 收藏
- 关注

转载 Android代码内存优化建议-Android资源篇
转载:http://androidperformance.com/2015/07/20/Android-Performance-Memory-AndroidResource.html这篇文章主要介绍在实际Android应用程序的开发中,容易导致内存泄露的一些情况。开发人员如果在进行代码编写之前就有内存泄露方面的基础知识,那么写出来的代码会强壮许多,写这篇文章也是这个初衷。本文从Androi
2016-01-05 15:53:57
867

转载 Android代码内存优化建议-OnTrimMemory优化
转自:http://androidperformance.com/2015/07/20/Android-Performance-Memory-onTrimMemory.htmlOnTrimMemory 回调是 Android 4.0 之后提供的一个API,这个 API 是提供给开发者的,它的主要作用是提示开发者在系统内存不足的时候,通过处理部分资源来释放内存,从而避免被 Android 系
2016-01-05 15:40:36
1342

转载 Android应用启动优化:一种DelayLoad的实现和原理(下篇)
转自:http://www.androidperformance.com/2015/11/18/Android-app-lunch-optimize-delay-load.html上一篇文章我们使用第三种方法来实现延迟加载。不过上一篇写的比较简单,只是讲解了如何去实现,这一篇就来讲一下为何要这么做,以及这么做后面的原理。其中会涉及到一些 Android 中的比较重要的类,以
2016-01-05 15:11:42
855

转载 Android应用启动优化:一种DelayLoad的实现和原理(上篇)
转自:http://www.androidperformance.com/2015/11/18/Android-app-lunch-optimize-delay-load.html0. 应用启动优化概述在 Android 开发中,应用启动速度是一个非常重要的点,应用启动优化也是一个非常重要的过程.对于应用启动优化,其实核心思想就是在启动过程中少做事情,具体实践的时候无非就是下面
2016-01-05 15:02:31
761

转载 Maven的安装、配置及使用入门
转自:http://www.cnblogs.com/dcba1112/archive/2011/05/01/2033805.htmlMaven的安装、配置及使用入门本书代码下载 大家可以从我的网站下载本书的代码:http://www.juvenxu.com/mvn-in-action/,也可以通过我的网站与我取得联系,欢迎大家与我交流任何关于本书的问题和关于Maven的问题。
2016-01-05 10:04:56
3911

转载 Google Protocol Buffer 的使用和原理
转自:http://www.ibm.com/developerworks/cn/linux/l-cn-gpb/Protocol Buffers 是一种轻便高效的结构化数据存储格式,可以用于结构化数据串行化,很适合做数据存储或 RPC 数据交换格式。它可用于通讯协议、数据存储等领域的语言无关、平台无关、可扩展的序列化结构数据格式。目前提供了 C++、Java、Python 三
2016-01-04 15:46:34
647

转载 protocol buffer 使用
1 概览1.1 什么是protocol buffer1.2 他们如何工作1.3 为什么不用XML?1.4 听起来像是为我的解决方案,如何开始?1.5 一点历史2 语言指导2.1 定义一个消息类型2.2 值类型2.3 可选字段与缺省值2.4 枚举2.5 使用其他消息类型2.6 嵌套类型2.7 更新一个数据类型2.8 扩展
2016-01-04 15:28:25
6453

原创 ArrayList Vector LinkedList HasMap等区别与用法
ArrayList 和Vector是采用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,都允许直接序号索引元素,但是插入数据要设计到数组元素移动等内存操作,所以索引数据快插入数据慢,Vector由于使用了synchronized方法(线程安全)所以性能上比ArrayList要差,LinkedList使用双向链表实现存储,按序号索引数据需要进行向前或向后遍历,但是插入数据时只需要
2015-12-26 10:49:53
816

转载 android 内存清理
欢迎转载,转载请注明:http://blog.youkuaiyun.com/zhgxhuaa说明在上一篇中介绍了“垃圾清理”,在系统优化中有一个功能往往是与垃圾清理分不开的,那就是“手机加速”。目前流行的管理软件中以及网络上并没有明确的定义什么叫“垃圾清理”什么叫“手机加速”。结合上一篇的“垃圾清理”这里统一做一个在本系列文章中的定义:n 垃圾清理:在本系列文章中认
2015-10-29 10:34:39
6769

转载 android 垃圾清理 文件清理
欢迎转载,转载请注明:http://blog.youkuaiyun.com/zhgxhuaa说明在总篇中提到过垃圾清理,本篇将着重介绍针对缓存、卸载残留、无用数据等“静态内容”的清理,有关于系统进程的清理以及手机加速的相关功能,将放到《手机加速篇》中介绍研究。什么是垃圾关于系统垃圾的定义现在很多手机管理软件中都有垃圾清理的功能,本篇也来对垃圾清理做一
2015-10-29 10:32:39
7853
1

转载 Android横竖屏总结
Android横竖屏要解决的问题应该就两个:一.布局问题二.重新载入问题1.布局问题:如果不想让软件在横竖屏之间切换,最简单的办法就是在项目的AndroidManifest.xml中找到你所指定的activity中加上android:screenOrientation属性,他有以下几个参数:"unspecified":默认值 由系统来判断显示方向.判定的策略
2015-10-28 16:43:15
1050

转载 Android内存泄漏分析及调试
尊重原创作者,转载请注明出处:http://blog.youkuaiyun.com/gemmem/article/details/13017999此文承接我的另一篇文章:Android进程的内存管理分析 首先了解一下dalvik的Garbage Collection:如上图所示,GC会选择一些它了解还存活的对象作为内存遍历的根节点(GC Ro
2015-10-23 11:57:24
628

原创 HashMap遍历方法
Map map = new HashMap(); Iterator iter = map.entrySet().iterator(); while (iter.hasNext()) { Map.Entry entry = (Map.Entry) iter.next(); Object key = entry.getKey(); Object val = entry.getVal
2015-10-23 10:52:13
481

转载 Android多窗口分屏(原生方法)
事实上KitKat已经可以实现多窗口分屏,只是功能不全,Google并没有把这个功能提供给用户。使用am stack boxes可以查看当前系统存在的Activity Stack:1am stack boxesoutput:Box id=1 weight=0.0 vertical=false bounds=[0
2015-10-21 15:51:14
9871

原创 使用AudioTrack和MediaPlayer播放声音的区别
MediaPlayer可以播放多种格式的声音文件,例如MP3,AAC,WAV,OGG,MIDI等。MediaPlayer会在framework层创建对应的音频解码器。AudioTrack只能播放已经解码的PCM流,如果是文件的话只支持wav格式的音频文件,因为wav格式的音频文件大部分都是PCM流。AudioTrack不创建解码器,所以只能播放不需要解码的wav文件。Media
2015-10-19 09:15:51
4755

原创 子控件根据父控件行宽自动换行---LineWrapLayout实现
一些带搜索功能的app,在搜索栏下面一般会提供一些关键字供用户选择。也可以根据用户输入的文字,在下一次使用的时候该文字出现在常用关键字里面,只要轻轻一点就可以搜索了,无需再次输入。关键字可以动态添加,这就要考虑换行的问题了废话不多说,先上效果图:先定义2个自定义属性 magin:关键字之间间隔
2014-08-26 15:39:01
3259

原创 Launcher Activity在开机时重启两次解决办法
今天在看log的时候发现,Launcher activity会被onDestroy掉一次,然后再重启。可能原因猜测:1.横竖屏切换2.MCC MNC等Configuration改变引起的 MCC(移动国家码)和 MNC(移动网络码)由于当时的Launcher设置为强制横屏了,应该是不会引起重启的。对于Configuration改变系统会发一个android.intent
2014-08-13 15:24:14
3694
1

原创 getWidth和getMeasuredWidth在何时可以得到正确数值
getMeasuredWidth在源码中的解释如下: /** * Like {@link #getMeasuredWidthAndState()}, but only returns the * raw width component (that is the result is masked by * {@link #MEASURED_SIZE_MASK}
2014-08-04 10:44:04
4237

原创 仿360一键清理实现(二)
---------------------------------------------------------------------编译环境:Android 4.0测试环境:Android 4.2.2模拟器屏幕分辨率:480*800作者:疯狂小强注意:1.资源采集于网上,如有侵权请及时联系,以便处理。2.代码仅用于学习交流,请勿商业化。----------
2014-07-28 16:33:38
1795
4

原创 仿360一键清理实现(一)
仿360“一键清理”实现---------------------------------------------------------------------编译环境:Android 4.0测试环境:Android 4.2.2模拟器屏幕分辨率:480*800作者:疯狂小强注意:1.资源采集于网上,如有侵权请及时联系,以便处理。2.代码仅用于学习交流,请勿商业化。--------------------------------------------------------
2014-07-28 11:26:36
5116

原创 数据存储(三)--JSON数据处理
JSON是一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性,从而可以在不同平台间进行数据交换。JSON采用兼容性很高的文本格式,同时也具备类似于C语言体系的行为。JSON可以将Java对象转成json格式的字符串,可以将json字符串转换成Java。比XML更轻量级,Json使用起来比较轻便和简单。JSON数据格式,在Android中被广泛运用于客户端和服务器通信,在网络数据传输与解析
2014-07-23 14:23:19
2858

原创 数据存储(二)--SAX引擎XML存储(附Demo)
Android SDK只支持采用SAX技术读取XML,SAX采用顺序读取的方式来处理XML文档。这就要求在每读取XML文档的某个节点时会触发相应的事件来处理这个节点。下面基于一个实例讲述SAX的使用:
2014-07-22 15:59:33
1400

原创 数据存储(一)--SharedPreferences之你不知道的事
一、SharedPreferences将数据文件保存在指定路径上二、SharedPreferences保存图片三、SharedPreferences保存对象
2014-07-17 10:34:38
3542

原创 Android Bitmap OutOfMemory 解决办法
java.lang.OutOfMemoryError解决办法1.在适当的时候适当的地点回收内存2.使用BitmapFactory.Options对图片进行压缩3.优化代码结构
2014-07-01 14:41:22
4421

原创 android中反射技术使用实例
反射机制应用1.通过反射技术可以访问到其他包名下数据方法等,这些为一些APK换皮肤提供了方便2. 访问android 隐藏的API3. 修改某些“不可改” 的系统资源
2014-06-09 11:47:49
3640

原创 android SQLite 使用实例
Android作为目前主流的移动操作系统,完全符合SQLite占用资源少的优势,故在Android平台上,集成了一个嵌入式关系型数据库—SQLite。如果想要开发 Android 应用程序,需要在 Android 上存储数据,使用SQLite 数据库是一种非常好的选择。在一般程序中使用数据库的过程都可以框架化,套路化,实例如下:表说明:1.班级 classes:
2014-05-19 15:30:40
8741

原创 android数据读写
package com.example.filerw;import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.BufferedOutputStream;import java.io.FileOutputStream;import j
2014-04-04 11:03:15
1703

原创 android换皮肤思路总结
前段时间公司有做换皮肤的项目,经过网上搜罗,查看资料,我个人总结三种换皮肤的方法。 网上说的最多的就是使用android:sharedUserId标签来共享资源,但是经我测试无论用不用这个标签资源都可以访问,而且Launcher换皮肤的时候不能用这个标签来共享进程。第一种方法先上代码:MainActivity.javapackage com.app;import java.lang.re
2014-04-02 16:14:27
2873
1
原创 什么原因可能会造成Android手机卡顿?
分析:此问题更多的是从宏观角度考核面试者对Android系统了解,“卡顿”是站在用户角度的描述,对于开发人员应从,Android的发展历史、程序的运行机制、程序性能优化等诸多方面进行延伸回答。技术层面应对性能优化做为回答重点,突出专业知识。目录前言碎片化后的系统因素内存回收机制硬件性能与软件不匹配应用优化自身不利,导致的卡顿运行时所需要的资源存在强烈竞争总结...
2020-04-01 14:00:57
1842
原创 多线程安全
首先要明白线程的工作原理,jvm有一个main memory,而每个线程有自己的working memory,一个线程对一个variable进行操作时,都要在自己的working memory里面建立一个copy,操作完之后再写入main memory。多个线程同时操作同一个variable,就可能会出现不可预知的结果。根据上面的解释,很容易想出相应的scenario。
2015-12-26 11:25:25
626
转载 GIT常用命令
查看、添加、提交、删除、找回,重置修改文件git help # 显示command的helpgit show # 显示某次提交的内容 git show $idgit co -- # 抛弃工作区修改git co . # 抛弃工作区修改git add # 将工作文件修改提交到本地暂存区git add . # 将所有修改过的工作文件提交暂存区
2015-12-26 10:16:15
375
转载 Android系统音量取消关联
由于目前的Android系统如果系统的SYSTEM(STREAM_SYSTEM)中的音量设置或者调节为0,相关的STREAM_*的音量也会被Mute住,比如说,我现在的系统将对应的STREAM_SYSTEM和STREAM_RING/STREAM_NOTIFICATION在Mute功能方面绑定的,如果我将STREAM_SYSTEM的volume调节为0,那么Android系统会将STREAM_SYS
2015-12-17 14:51:03
3813
转载 android res加载
转载请注明出处:http://blog.youkuaiyun.com/singwhatiwanna/article/details/23387079 (来自singwhatiwanna的csdn博客)前言我们知道,在activity内部访问资源(字符串,图片等)是很简单的,只要getResources然后就可以得到Resources对象,有了Resources对象就可以访问各种资源了,这很简单
2015-11-30 08:49:51
1393
转载 Android 的窗口管理系统 (View, Canvas, WindowManager)
目录视图摘要视图订阅 Android 的窗口管理系统 (View, Canvas, WindowManager)分类: android2014-09-15 17:13 2943人阅读 评论(2) 收藏 举报目录(?)[+]From
2015-11-19 10:13:26
910
转载 Android窗口管理剖析
From here 一、 概述在Android系统中,从设计的角度来看,窗口管理系统是基于C/S模式的。整个窗口系统分为服务端和客户端两大部分,客户端负责请求创建窗口和使用窗口,服务端完成窗口的维护,窗口显示等。 在Client端,并不是直接和WindowManagerService交互,而是直接和本地对象WindowManager交互,然后由Win
2015-11-19 09:53:02
544
原创 No rule to make target
在源码中,mm编译apk时出现下面的错误:make: *** No rule to make target `out/target/common/obj/JAVA_LIBRARIES/android_stubs_current_intermediates/javalib.jar', needed by `out/target/common/obj/APPS/NativeTimer_inte
2015-11-18 15:10:51
3129
原创 U盘是否挂载
private static final String MOUNTS_FILE = "/proc/mounts";public static boolean isMounted(String path) { boolean blnRet = false; String strLine = null; BufferedReader reader =
2015-04-18 16:18:17
1342
AIDL双向通信Demo
2024-03-28
Android开发编码规范
2024-03-28
Android Car Radio模块加载流程
2024-03-28
Rtsp协议和数据解析Demo
2024-03-28
MediaCodecLive555RTSP.rar
2020-08-20
adnroid 签名工具
2014-10-15
SAX--XML文件读写
2014-07-22
TextView中添加图片
2014-04-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人