喜糖

移动开发工程师 。涉及 android、ios、jni

导航

2013年8月5日

摘要: 1、资源包图片尽量控制在50k以内,否则可能读取失败2、资源图片建议使用png格式,此格式在android系统上支持最好。对于jpeg和gif格式的图片,在android4.0以后版本,通过系统自缩放后,无法转码为565格式,只能使用默认格式3、adapter的数据发生变化后,必须调用notify接口通知。4、ui界面使用的数据,不能在子线程中修改。5、网络需要考虑中国移动互联网的特点,需要考虑2g,3g,wifi,net,wap。网络接口必须设置超时时间,否则可能造成内存泄露6、页面退出时,与页面相关的网络请求必须关闭,否则会造成流量浪费,还会造成内存释放不及时,和网络请求回调返回时页面已经 阅读全文

posted @ 2013-08-05 16:11 喜糖 阅读(294) 评论(0) 推荐(0) 编辑

摘要: 1.1 Java对象导致的泄漏当一个对象的被引用数为0时,就会被JVM的GC回收。对象有不同的引用级别,从最强到最弱,不同的引用(可到达性)级别反映了对象的生命周期。Strong Ref(强引用):通常我们编写的代码都是Strong Ref,于此对应的是强可达性,只有去掉强可达,对象才被回收。Soft Ref(软引用):对应软可达性,只要有足够的内存,就一直保持对象,直到发现内存吃紧且没有Strong Ref时才回收对象。一般可用来实现缓存,通过java.lang.ref.SoftReference类实现。Weak Ref(弱引用):比Soft Ref更弱,当发现不存在Strong Ref时, 阅读全文

posted @ 2013-08-05 16:09 喜糖 阅读(423) 评论(0) 推荐(0) 编辑

2013年8月4日

摘要: http://www.genymotion.com/ 阅读全文

posted @ 2013-08-04 22:38 喜糖 阅读(139) 评论(0) 推荐(0) 编辑

2013年7月22日

摘要: 这里介绍两种方法:一种把每个activity记住,然后逐一干掉;另一种思路是使用广播。本文来源于网络,如有雷同,那是必须的。写此贴只是为了总结一下常用东东,还望原作者莫怪,本人真不是想侵权。方法一、用list保存activity实例,然后逐一干掉上代码:import java.util.LinkedList;import java.util.List;import android.app.Activity;import android.app.AlertDialog;import android.app.Application;import android.content.DialogInte 阅读全文

posted @ 2013-07-22 19:59 喜糖 阅读(1598) 评论(0) 推荐(0) 编辑

2013年7月19日

摘要: LayoutAnimationController用于为一个layout里面的控件,或者是一个ViewGroup里面的控件设置动画效果,可以在XML文件中设置,亦可以在Java代码中设置。一种直接在XML文件中设置1.在res/anim文件夹下新建一个XML文件,名为list_anim_layout.xml,[java]view plaincopyandroid:delay 子类动画时间间隔 (延迟) 70% 也可以是一个浮点数 如“1.2”等android:animationOrder="random" 子类的显示方式 random表示随机android:animatio 阅读全文

posted @ 2013-07-19 00:55 喜糖 阅读(5810) 评论(0) 推荐(0) 编辑

2013年7月18日

摘要: 1. 视频解码工具:ffmpeg,http://www.ffmpeg.org/2. java有一个开源程序: yoyoPlayer, 可以到这个代码中去学习相关的音频知识。http://www.blogjava.net/hadeslee/archive/2007/12/17/168153.html http://code.google.com/p/yoyoplayer/3. 视频相关的android控件:videoView。 开发文档中有对VideoView支持格式的描述:http://developer.android.com/guide/appendix/media-formats.h.. 阅读全文

posted @ 2013-07-18 02:57 喜糖 阅读(139) 评论(0) 推荐(0) 编辑

摘要: 今天看到一款有点意思的开源软件“android-screen-monitor”, 简要记录如下:1 简介 一款同步手机真机屏幕到PC上的软件(屏幕实时抓取,有点小卡)2 开源地址http://code.google.com/p/android-screen-monitor/3 使用步骤①通过USB将你的手机连接到电脑② 将asm.jar文件拷贝到你的android-sdk的platform-tools下,如我的E:\android\android-sdk\platform-tools③ 运行->cmd,定位到asm.jar目录④ 输入:java -jar asm.jar 阅读全文

posted @ 2013-07-18 02:29 喜糖 阅读(3143) 评论(0) 推荐(0) 编辑

摘要: 在使用ListView时,如果使用了getItemViewType, 记得他的值一定要是从0开始计数的。 且要覆盖getViewTypeCount方法。并且让getViewTypeCount>getItemViewType否则会有数组越界异常:10-21 20:18:16.231: E/AndroidRuntime(4475): java.lang.ArrayIndexOutOfBoundsException: length=3; index=310-21 20:18:16.231: E/AndroidRuntime(4475): at android.widget.AbsListVi. 阅读全文

posted @ 2013-07-18 01:17 喜糖 阅读(4448) 评论(2) 推荐(1) 编辑

2013年7月10日

摘要: AccelerateDecelerateInterpolator 在动画开始与结束的地方速率改变比较慢,在中间的时候加速AccelerateInterpolator 在动画开始的地方速率改变比较慢,然后开始加速AnticipateInterpolator 开始的时候向后然后向前甩AnticipateOvershootInterpolator 开始的时候向后然后向前甩一定值后返回最后的值BounceInterpolator 动画结束的时候弹起CycleInterpolator 动画循环播放特定的次数,速率改变沿着正弦曲线DecelerateInterpolator 在动画开始的地方快然后慢Lin 阅读全文

posted @ 2013-07-10 11:06 喜糖 阅读(277) 评论(0) 推荐(0) 编辑

2013年7月9日

摘要: 参数: startOffset表示,该动画延迟多长时间开始播放。 这样就能变现满足动画顺序播放的效果。 public void popInfo() { Animation anim = AnimationUtils.loadAnimation(mContext, R.anim.custom_home_text_info); textInfo.setVisibility(View.VISIBLE); //在播放动画之前, 要让该控件先显示出来, 否则有bug。 anim.setAnimationListener(new Anima... 阅读全文

posted @ 2013-07-09 20:28 喜糖 阅读(354) 评论(0) 推荐(0) 编辑

摘要: 问题描述: ViewPager嵌套viewPager, 当childViewPager中加入了Onclick事件, 导致childViewpager的滑动消息被拦截掉。很无奈。解决方法: 重写childviewPager, 拦截消息转发.public class ChildViewPager extends ViewPager { /** 触摸时按下的点 **/ PointF downP = new PointF(); /** 触摸时当前的点 **/ PointF curP = new PointF(); OnSingleTouchListener onSingl... 阅读全文

posted @ 2013-07-09 12:55 喜糖 阅读(8984) 评论(1) 推荐(0) 编辑

2013年7月2日

摘要: 问题描述:共享有线实现手机上网(http://support1.lenovo.com.cn/lenovo/wsi/htmls/detail_1323385217890211.html)[建议] 还是买个小的wifi共享器来实现此功能吧。 这样来的更加方便。适用于:win7系统解决方案:使用win7自带的创建临时网络,是计算机到计算机的,所以不支持手机连接所以需要两个命令来实现netsh wlan set hostednetwork mode=allow ssid=你想建立的网络名字(英文格式) key=你想设置的密码(至少8位)回车例如我的是:netsh wlan set hostednetw 阅读全文

posted @ 2013-07-02 00:19 喜糖 阅读(1433) 评论(0) 推荐(0) 编辑

2013年6月26日

摘要: 1。 checkbox在更换了图片后, 与文字的距离有问题, 建议修改background为@null, 去除占据的位置。2. checkbox的paddingleft可以控制图片和文字的间距。 阅读全文

posted @ 2013-06-26 23:59 喜糖 阅读(2257) 评论(0) 推荐(0) 编辑

2013年6月25日

摘要: 在viewPager中有textview。 当textview的参数为singleLine和gravity为center时, onfling事件将会被读取为onclick事件。 这是andriod的一个bug:https://code.google.com/p/android/issues/detail?id=37256&colspec=ID%20Type%20Status%20Owner%20Summary%20Stars。我的更改方案为: singleling依然为ture, gravity更改为center_vertical。ps: 这个bug搞死我了, 弄了快两天 阅读全文

posted @ 2013-06-25 15:10 喜糖 阅读(926) 评论(0) 推荐(0) 编辑

2013年6月24日

摘要: 前言在Layout中指定好background和padding以后,程序里面动态修改background之后padding就失效了,貌似是一个BUG,这里找到了一篇英文文章,简单翻译分享一下。声明 欢迎转载,但请保留文章原始出处:) 博客园:http://www.cnblogs.com 农民伯伯: http://over140.cnblogs.com正文一、折中办法1.1方法一 intbottom=theView.getPaddingBottom();inttop=theView.getPaddingTop();intright=theView.getPaddingRight()... 阅读全文

posted @ 2013-06-24 13:39 喜糖 阅读(2205) 评论(0) 推荐(0) 编辑

2013年6月22日

摘要: ViewPager来实现左右滑动切换tab,如果tab的某一项中嵌入了水平可滑动的View就会让你有些不爽,比如想滑动tab项中的可水平滑动的控件,却导致tab切换。因为Android事件机制是从父View传向子View的,可以去检测你当前子View是不是在有可滑动控件等,决定事件是否拦截,但是这个麻烦,而且并不能解决所有的问题(必须检测触摸点是否在这个控件上面),其实有比较简单的方法,在你嵌套的控件中注入ViewPager实例(调用控件的getParent()方法),然后在onTouchEvent,onInterceptTouchEvent,dispatchTouchEvent里面告诉父Vi 阅读全文

posted @ 2013-06-22 23:06 喜糖 阅读(13909) 评论(0) 推荐(1) 编辑

2013年6月20日

摘要: 在很多时候,我们需要给一个Layout设置一个背景。例如,我们下下面的layout中使用了这样一个背景:<?xml version=”1.0″ encoding=”utf-8″?><LinearLayout xmlns:android=”http://schemas.android.com/apk/res/android” android:orientation=”vertical”android:layout_width=”fill_parent”android:layout_height=”fill_parent”android:background=”@drawable 阅读全文

posted @ 2013-06-20 11:22 喜糖 阅读(217) 评论(0) 推荐(0) 编辑

2013年6月9日

摘要: 如果一个变量是成员变量,那么多个线程对同一个对象的成员变量进行操作时,它们对该成员变量是彼此影响的,也就是说一个线程对成员变量的改变会影响到另一个线程。 如果一个变量是局部变量,那么每个线程都会有一个该局部变量的拷贝(即便是同一个对象中的方法的局部变量,也会对每一个线程有一个拷贝),一个线程对该局部变量的改变不会影响到其他线程。 阅读全文

posted @ 2013-06-09 15:38 喜糖 阅读(241) 评论(0) 推荐(0) 编辑

2013年6月8日

摘要: Android’s HTTP ClientsMost network-connected Android apps will use HTTP to send and receive data. Android includes two HTTP clients: HttpURLConnection and Apache HTTP Client. Both support HTTPS, streaming uploads and downloads, configurable timeouts, IPv6 and connection pooling.Apache HTTP ClientDef 阅读全文

posted @ 2013-06-08 15:05 喜糖 阅读(218) 评论(0) 推荐(0) 编辑

2013年6月5日

摘要: 原文地址:http://blog.csdn.net/kangyaping/article/details/7481692在项目中,一进入一个页面, EditText默认就会自动获取焦点。那么如何取消这个默认行为呢?在网上找了好久,有点监听软键盘事件,有点调用 clearFouse()方法,但是测试了都没有!xml中也找不到相应的属性可以关闭这个默认行为解决之道:在EditText的父级控件中找一个,设置成android:focusable="true" android:focusableInTouchMode="true"这样,就把EditText默认的 阅读全文

posted @ 2013-06-05 21:07 喜糖 阅读(182) 评论(0) 推荐(0) 编辑

2013年5月31日

摘要: 在android中,同一个应用下的cookie存在同一个位置。 /data/data/package/databases/webview.dbcookie存储的代码: CookieManager cookieManager = CookieManager.getInstance(); if( token != null) { CookieSyncManager.createInstance(TiebaApplication.getApp().getApplicationContext()); cookieMana... 阅读全文

posted @ 2013-05-31 19:21 喜糖 阅读(286) 评论(0) 推荐(0) 编辑

2013年5月28日

摘要: 在调用setTag时, 固定Id的方式在2.3系统中会创建一个static的WeakHashMap, 这样就会引起内存泄漏。ps: sTags为静态变量。 阅读全文

posted @ 2013-05-28 16:31 喜糖 阅读(228) 评论(0) 推荐(0) 编辑

摘要: http://grepcode.com/ 阅读全文

posted @ 2013-05-28 15:55 喜糖 阅读(141) 评论(0) 推荐(0) 编辑

2013年5月27日

摘要: 在所有版本的Android中,views都有画到离屏缓冲的能力,这包括使用view的绘制cache,或使用Canvas.saveLayer().离屏缓冲,或者说层,有很多用处.你可以使用它们来为复杂的view动画或使用组合效果时提高性能.例如,你可以使用Canvas.saveLayer()实现淡出效果,这个方法会临时的把一个view画到一个layer中然后使用一个透明系数把它组合回屏幕上. 从Android3.0 (API level11)开始,你对何时以及如何通过View.setLayerType()方法来使用layer有了更多的控制能力.此方法有两个参数:你想使用的layer的类型和一.. 阅读全文

posted @ 2013-05-27 15:21 喜糖 阅读(5735) 评论(0) 推荐(0) 编辑

摘要: 在不考虑透明度的情况下,一个像素点的颜色值在计算机中的表示方法有以下3种:(1)浮点数编码:比如float: (1.0, 0.5, 0.75),每个颜色分量各占1个float字段,其中1.0表示该分量的值为全红或全绿或全蓝;(2)24位的整数编码:比如24-bit:(255, 128, 196),每个颜色分量各占8位,取值范围0-255,其中255表示该分量的值为全红或全绿或全蓝;(3)16位的整数编码:比如16-bit:(31, 45, 31),第1和第3个颜色分量各占5位,取值范围0-31,第2个颜色分量占6位,取值范围0-63;在Java中,float类型的变量占32位,int类型的变量 阅读全文

posted @ 2013-05-27 11:25 喜糖 阅读(359) 评论(0) 推荐(0) 编辑

2013年5月23日

摘要: ADT 22中新增了Export,你会发现新增了Android Private Libraries库,默认可能Export没有选中,如图:ps: 图中的两个内容都要选中,才能支持多个工程的依赖关系。勾选、重新编译即可。此外还可能出现Library工程中引用的Libs编译时不会加到主工程的问题,也是这个原因造成的,选中即可。 阅读全文

posted @ 2013-05-23 16:22 喜糖 阅读(156) 评论(0) 推荐(0) 编辑

摘要: svn:http://subclipse.tigris.org/update_1.8.xmat:http://download.eclipse.org/mat/1.2/update-site/find bugs:http://findbugs.cs.umd.edu/eclipseadt:https:... 阅读全文

posted @ 2013-05-23 13:28 喜糖 阅读(183) 评论(0) 推荐(0) 编辑

2013年5月22日

摘要: 为了能实现模块化,一个项目通常都会用到很多工程,现在eclipse里面的工程越来越多,所以根据项目分组一下会更容易管理。方法很简单:1. 在package explorer里面右上方有个下拉箭头,选中"Top Level Element"的"Working Sets",这样就改成分组显示视图了2. 然后再在下拉菜单中选择"Configure Working Sets"就能把工程开始分组了。3. 后面看界面都会操作了,不详细说了。心动就快点动手试试,让凌乱的工程整洁起来吧! 阅读全文

posted @ 2013-05-22 14:33 喜糖 阅读(270) 评论(0) 推荐(0) 编辑

2013年5月17日

摘要: 1.下载Android Studiohttp://developer.android.com/sdk/installing/studio.html2.遇到的问题点击.exe没有反应解决方法:1.在环境变量里面配置ANDROID_STUDIO_JDK="C:\Java\jdk1.6.0.10"//你自己的jdk目录2.找到android-studio下的bin文件下的studio.bat文件找到第一个SET BITS 在后面加上32(64位系统不用改)然后就可以正常运行了。第一次运行比较慢,因为要下载东西经过了一段时间的等待终于打开了 阅读全文

posted @ 2013-05-17 01:47 喜糖 阅读(836) 评论(1) 推荐(0) 编辑

2013年5月7日

摘要: http://blog.csdn.net/sunboy_2050/article/details/6727581几个步骤:1.首先将apk文件后缀改为zip并解压,得到其中的classes.dex,它就是java文件编译再通过dx工具打包而成的,将classes.dex复制到dex2jar.bat所在目录dex2jar-0.0.9.9文件夹。2.在命令行下定位到dex2jar.bat所在目录,运行 dex2jar.bat classes.dex 生成 classes_dex2jar.jar3.然后,进入jdgui文件夹双击jd-gui.exe,打开上面生成的jar包classes_dex... 阅读全文

posted @ 2013-05-07 17:05 喜糖 阅读(127) 评论(0) 推荐(0) 编辑