随笔分类 - android
摘要:其中内存泄漏产生的原因在Android中大致分为以下几种: 1.static变量引起的内存泄漏 因为static变量的生命周期是在类加载时开始 类卸载时结束,也就是说static变量是在程序进程死亡时才释放,如果在static变量中 引用了Activity 那么 这个Activity由于被引用,便会
阅读全文
摘要:自定义ViewGroup需要重写onMeasure, onLayout等方法。下面是一个实例,4个View分别显示在四个角。
阅读全文
摘要:SQlite是android默认的数据库,属于轻量型的关系型数据库。用法如下: DBHelper类: 具体使用方式:
阅读全文
摘要:okhttp是一种新的网络请求框架,对网络强求做了优化。 同步调用: 异步调用:
阅读全文
摘要:Volley是常用的网络请求框架,主要的用法如下: 获取字符串: 获取图片: 异步加载图片: BitmapCache类: Volley功能强大,能够对网络请求进行缓存,能够有效减少CPU消耗和减少网络请求。
阅读全文
摘要:Android中创建线程的方式有,new Thread,new Thread(Runnable),new Thread(Callable)的形式。 A. 直接new Thread简单方便. B. new Thread(Runnable)这种形式相比第一种更简单明了。 C. Callable相比于Ru
阅读全文
摘要:json是常见的数据格式,生成和解析是常用的操作。Android中,默认提供orgJson供我们使用,除此之外,google也提供了Gson库方便我们开发。 Json样例类 测试Activity类 样例中,成功创建了json字符串,并实现了解析。
阅读全文
摘要:IntentService中内置了一个HandlerThread,能够对数据进行处理。相比于普通的Service,IntentService有以下优点: 1. 不用在Service创建线程。 2. 不用考虑什么时候关闭Service。 IntentService使用示例 CountService类
阅读全文
摘要:HandlerThread是一种具有消息循环的线程。HandlerThread可以接收消息并处理消息,并执行一些耗时操作,这样UI线程就可以把一些耗时的操作命令发送给HandlerThread,由该线程处理后再发送到主线程返回。这样主线程用于分发和显示,而子线程用于逻辑处理和运算。 HandlerT
阅读全文
摘要:1. Service的启动方式有startServcie和bindService两种。 startService时,会经历onCreate—onStartCommand—onDestroy生命周期, bindService时,会经历onCreate—onBind—onUnbind—onDestroy
阅读全文
摘要:截屏是一个常用的操作,经常会有这种需求。 截屏的工具类 测试类 截屏保存在外置sd卡,需添加写外置存储的权限。
阅读全文
摘要:生产者消费者是常见的同步问题。一个队列,头部生产数据,尾部消费数据,队列的长度为固定值。当生产的速度大于消费的速度时,队列逐渐会填满,这时就会阻塞住。当尾部消费了数据之后,生产者就可以继续生产了。 生产者 消费者 测试类 运行结果: 数据超过3个时候就不能生产了,需要等待消费者。
阅读全文
摘要:现在需要实现一个工具类,RunUtils,这个类中包含runOnUiThread(Context context, Runnable runnable)和runOnUiThreadBlock(Context context, Runnable runnable)两个方法。两个方法都使runnable
阅读全文
摘要:this.requestWindowFeature( Window.FEATURE_NO_TITLE ); this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutPara...
阅读全文
摘要:为什么需要把应用中出现的文字单独存放在string.xml文件中呢?一:是为了国际化,当需要国际化时,只需要再提供一个string.xml文件,把里面的汉子信息都修改为对应的语言(如,English),再运行程序时,android操作系统会根据用户手机的语言环境和国家来自动选择相应的string.x...
阅读全文