技术改变世界 阅读塑造人生! - shaogx.com

This string was altered by TechBlog\Plugins\Example.; This is an example to show the potential of an offcanvas layout pattern in Bootstrap. Try some responsive-range viewport sizes to see it in action.

Android开发中网络编程与常见功能优化总结

一般的应用都是从服务器获取数据,然后通过极致的界面风格,将数据清晰,明朗的展现给用户。 那么就可以分为这两块: 1.界面UI   追求极致 2.功能 2.1获取数据:主要是与服务器通信,那么就要涉及到网络编程 : 2.1.1  URlConnection  2.1.2  HttpURLConnection(post get) 2.1.3  Socket 2.1.4  HttpClient(post get) 2.1.5  WebService(自己拼装请求xml 数据,采用开源jar包 ksoap-android-) 2.2网络通信的时候,采用的异步数据获取2.2.1   AsynTask android 封装好的异步数据获取,包括三个方法 doInBackground 执行在子线程中的异步方法 onProgressUpdate 数据获取之后 执行的方法,在主线程中可以在这里更新UI界面 onPostExecute   异步方法执行前,可以进行界面友好提示 在主线程中执行的方法 2.2.2  自己封装一个任务类(子线程)thread   采用线程池 这里需要自己维护一个任务列表,并且做到任务的优先级 2.3 android优化 最常见的就是listview 的大数据优化  图片优化  访问网络的优化 2.3.1 优化的原则: 数据延迟加载  分批加载  本地缓存 2.3.2 listview 数据优化 复用contentview   创建static class ViewHolder 分批加载 滑动监听 或者按钮  显示更多数据  往下拖动 显示 2.3.3 listview 图片优化  异步加载   本地缓存(二级缓存  内存(软引用实现),sd卡)   快速滑动时不显示图片 分为核心线程池和普通线程池,下载图片等耗时任务放置在普通线程池 2.3.4 超级大胖子Bitmap 及时的销毁(Activity的onDestroy时将bitmap回收, 在被UI组件使用后马上进行回收会抛RuntimeException: Canvas:tryingtousearecycledbitmapandroid.graphics.Bitmap) 设置一定的采样率(有开发者提供的图片无需进行采样, 对于有用户上传或第三方的大小不可控图片,可进行采样减少图片所占的内存), 从服务端返回图片,建议同时反馈图片的size巧妙的运用软引用drawable对应resid的资源, bitmap对应其他资源任何类型的图片,如果获取不到(例如文件不存在,或者读取文件时跑OutOfMemory异常), 应该有对应的默认图片(默认图片放在在apk中,通过resid获取); 2.3.5 Drawable ui组件需要用到的图片是apk包自带的,、 那么一律用setImageResource或者setBackgroundResource,而不要根据resourceid 注意:get(getResources(),R.drawable.btn_achievement_normal)该方法通过resid转换为drawable, 需要考虑回收的问题,如果drawable是对象私有对象,在对象销毁前是肯定不会释放内存的。 2.3.6 访问网络优化 设置超时时间,采用压缩流 传送数据 2.3.7  内存优化,static是Java中的一个关键字,当用它来修饰成员变量时,那么该变量就属于该类,而不是该类的实例。所以用static修饰的变量,它的生命周期是很长的。 优化方法:在一个工程中集中管理这些静态常量  尽量避免static成员变量的使用, 使用SoftReference或者WeakReference代替强引用 尽量避免在一个activity里面写线程内部类: 线程是Activity的内部类,所以Thread中保存了Activity的一个引用,当run函数没有结束时,Thread是不会被销毁的, 因此它所引用的老的Activity也不会被销毁,当这些activity加载了很多资源,没有释放也就很容易出现了内存泄露 的问题。 Android提供的AsyncTask,但事实上AsyncTask的问题更加严重,Thread只有在run函数不结束时才出现这种内存泄露问题,然而AsyncTask内部的实现机制是运用了 ThreadPoolExcutor,该类产生的Thread对象的生命周期是不确定的,是应用程序无法控制的, 因此如果AsyncTask作为Activity的内部类,就更容易出现内存泄露的问题。 那么就自己写一个线程类,管理这些任务。... 全文

Android优化总结 Android网络编程 Android常见功能

详解谷歌官方教程 Android R5 NDK下载及安装

【51CTO译文】Android NDK是一个Android SDK伴随的工具,是可以让开发者建立本机代码应用程序性能的关键部分。当开发者用C或C + +编程时,Android NDK提供的头文件和库、允许你构建活动、处理用户输入、使用硬件传感器、访问应用程序资源等等。如果开发者写本机代码,仍然把应用程序打包成APK文件,使程序仍然运行在设备的虚拟机内部,从而使Android应用程序的基本模式不会改变。... 全文

Android R5 NDK Android NDK下载 Android NDK安装

ANDROID内存优化(大汇总——上)

转载请注明本文出自大苞米的博客(http://blog.csdn.net/a396901990),谢谢支持!写在最前:本文的思路主要借鉴了2014年AnDevCon开发者大会的一个演讲PPT,加上把网上搜集的各种内存零散知识点进行汇总、挑选、简化后整理而成。... 全文

Android内存管理 Android内存优化 Android内存计算

[Android开发系列]IT博客应用

1.关于坑好吧,在此之前先来说一下,之前开的坑,恩,确实是坑,前面开的两个android开发教程的坑,对不起,实在是没什么动力了,不过源码都有的,大家可以参照github这个应用https://github.com/joveth/laughter 里面的 代码,相关介绍见http://joveth.github.io/funny/... 全文

android android开发 android web csdn博客 it博客

Android WIFI源码思路详解(Android4版本之前)

一:什么是WIFIWIFI是一种无线连接技术,可用于手机、电脑、PDA等终端。WIFI技术产生的目的是改善基于IEEE802.11标准的无线网络产品之间的互通性,也就是说WIFI是基于802.11标准的,但WIFI不等同无线网络。二:Android平台下的WIFI模块简单介绍一下,WIFI模块的基本功能:... 全文

Android wifi android平台 手机 内核

Android微信SDK API 调用教程

 最近一直在调用微信的API,却发现一直调用不成功,纠结了好久,各方面找教程,找官方,官方里的文档也只是写得很模糊,说是按三步走。1、申请App_ID 2、填写包名3、获取程序签名的md5值,... 全文

android Android ANDROID eclipse Eclipse 微信API 微信SDK

Android2.3与Android4.0有什么区别?

最近谷歌公布了代号为“冰淇淋三明治”的新一代Andriod 4.0系统源代码,我们来看看相比Android 2.3,Android 4.0在系统上的9大改进:1.新的UI界面更加的人性化相信关注安卓系统的朋友都看过了早些时候网上发布的Android4 .0系统界面。这次看看发布会上的照片吧。2.新的通知系统Android 4.0的通知系统有了很大的改进,用户可以自己决定哪些应用可以发送通知。Android 4.0的通知系统现在可以直接向侧面滑动删去通知条目,这样的操作也出现在应用管理列表中。3.语音输入系统和面部识别功能... 全文

Android Android4.0 冰淇淋三明治

站在巨人的肩膀上学习Android开发

        我们知道,一开始最好的学习方法是模仿,尤其是模仿巨人。那说到Android开发的模仿自然就是分析并研究主流程序的布局、实现方法,进而提升自己的技术。第一招----逆向工程         要分析“巨人”们的软件,自然免不了逆向工程,即将APK程序转化为我们可以看的懂得源码。这个google官方已经帮我们做好了工具,apktool就是一款很好的逆向工具。... 全文

Android APK反汇编 Android学习进阶 Android查看程序布局

Android开发:在onTouchEvent中处理任意时间的长按事件

Android提供了GestureDetector类来处理一些常用的手势操作,比如说 onLongPress,onFling 等。但这里不使用GestureDetector,而是直接在自定义View重写的onTouchEvent中进行处理。欲实现的效果是:当手机按住屏幕时,如果在指定的时间内没有移动(如500毫秒),那么进入长按模式,此时手指在屏幕上移动都算作长按模式。如果手机按住屏幕就立马移动,那么就算作移动模式。... 全文

android Android ANDROID 长按事件

Android开发学习笔记:我的第一个Android程序

对编程的人来说,HelloWorld是再熟悉不过的了,它是学开发语言入门的第一个程序,我现在使用Eclipse ADT插件,创建我的一个Android的程序,步骤如下:1.启动Eclipse,选择File--New弹出下面的对话框2.在弹出的对话框中选择“Android Project”弹出下面的对话框 ... 全文

程序 HelloWorld Android 移动开发 Android开发

Android Wear之android穿戴式设备应用开发平台

          Android Wear于2014年03月19日发布,并有Moto 360和LG watch两款产品。目前源码还没有开放,但是开发者可以下载它的Image及对应的开发SDK,这样开发者通过模拟器可以进行前期开发。其实,Android Wear包含两个部分,一部分是运行在穿戴式设备上的操作系统,一部分是给手持设备(手机,平板)程序使用的SDK,该SDK的主要目的是为可穿戴设备上应用开发提供了参考及规范,以引导用户开发出可同小屏幕设备协作操作的应用程序。这里使用“协作操作”是因为用户开发的这个程序永远不会在可穿戴式设备上运行,它只是定义UI界面,android wear的服务会将UI信息传递给可穿戴式设备,然后可穿戴式设备利用自身的UI机制显示出。从这个角度来看,Android wear的作用是在手持设备和可穿戴式设备提供一套显示标准,按照这个格式,就可实现跨设备显示。这个标准就是android的通知,当穿戴式设备和手持设备连接后,手持设备的通知就会传递到穿戴式设备,然后穿戴式设备将通知以适合自身的操作的方式显示处理,当然为了在穿戴式设备上有更好的显示,需要开发者做少量的修改,这个就是SDK的作用。目前Android Wear的信息还不够多,接下来几天的Google IO大会(6.25-6.27)上,Android Wear必将是热点话题,会释放更多信息。... 全文

Android Android Wear 穿戴式设备 Google IO大会

设置android:sharedUserId="android.uid.system" 支持 sdcard读写

在AndoridManifest.xml文件中添加android:sharedUser 可以让应用程序获得系统权限,完成很多setting 操作, 但是此时sdcard无法读写了。解决方法:1. 去掉android:sharedUser ,此时sdcard可以读写,但是有些setting 操作无法完成2. 另写一个apk, 负责sdcard的操作,通过在包含android:sharedUser 的apk中调用完成操作3. 修改sdcard的读写权限,修改源码下的/system/vold/Volume.cpp将Fat::doMount(devicePath, "/mnt/secure/staging", false, false, false,1000, 1015, 0702, true))  修改为:Fat::doMount(devicePath, "/mnt/secure/staging", false, false, false, 1000, 1015, 0002, true)) 将生成的out/..../system/bin/vold push到system/bin中参考:http://blog.csdn.net/xiaxiangnanxp1989/article/details/8672303  http://www.eoeandroid.com/thread-63314-1-1.html本文出自 “whithin's” 博客,请务必保留此出处http://whithin.blog.51cto.com/690417/1255135... 全文

Android android.uid.system sdcard

Android开发19——将Android程序部署至真实Android手机以及asm.jar的运行

一、让真实手机显示在Devices透视图中以前Devices透视图中显示的均是我们的Android模拟器,现在想让真实的android手机部署显示在该透视图中。你要做的就是安装驱动,手机第一次插在电脑上会提示你安装驱动,这样电脑才可以和手机进行通讯。只有成功安装驱动才会显示在Devices透视图。 二、将你开发的项目部署到真实手机中... 全文

android asm

Android闹钟最终版【android源码闹钟解析】

       我以前写了个复杂闹钟的demo,参见Android闹钟【复杂版】【大明进化十五】 .但是里面的bug有一些,好多人留言,所以我就看看源码,找找原因?顺便把源码代码整理出来,弄成一个完整的可以运行的apk,今天上午就整理了一下,才发现,源码处理的逻辑多一些,考虑的情况多,比如开机后接收一个广播,然后从数据库中取时间和当前时间对比,设置闹钟,当时区改变了,也会发送广播,对闹钟进行设置的。        转载请标明出处:http://blog.csdn.net/wdaming1986/article/details/7461043       ... 全文

android Android service Service 玲闹钟 闹钟源码

Android输入法扩展之外接键盘中文输入

        大家想不想要这样一台Android  Surface平板,看着就过瘾吧。                     ... 全文

Android外接键盘 Android外接键盘中文输入 Android中文输入法

20个经典Android游戏源码下载地址(持续更新~)

给大家推荐几个,我调试过的Android游戏源码吧!每个我都运行了效果不错哦!希望对喜爱Android开发的朋友们有所帮助。希望大家喜欢。... 全文

Android游戏 Android游戏源码 源码 ANDROID

[Android] 环境配置之正式版Android Studio 1.0

======================================================== 作者:qiujuer博客:blog.csdn.net/qiujuer网站:www.qiujuer.net开源库:Genius-Android转载请注明出处:http://blog.csdn.net/qiujuer/article/details/41843095========================================================昨天看见 Android Studio 1.0 正式版本发布了;心里挺高兴的。... 全文

android SDK Gradle 环境配置 Android Studio

[android开发之内容更新类APP]三、项目的基本功能之布局

应用宝的下载地址:http://android.myapp.com/myapp/detail.htm?apkName=com.jov.laughter其他的市场如木蚂蚁,安卓市场,搜狐也都有了注:代码会在文章的最后提供1.环境各种android的环境文章已经有很多了,其实也不需要什么,官方有个eclipse和sdk集成的包,下载下来之后就可以运行了。当然,如果你说你翻不了墙,你可以跟我说一声…… 话不多说,咱就假定你已经有了环境 建好你的android  project大家都知道,我这人不喜欢把一样事情做两遍,好吧,我开了个项目叫德国队吧(贴吧中,比较常去的两个吧)虽然是不同的名字,但是我会把它搞的跟搞笑吧一样(教程完了之后,再把这个坑填了),好,我的项目:... 全文

android android开发 android web

Android学习路线(三)运行你的Android应用

如果你按照上一课创建了你的Android项目,那么它包含默认的 "Hello World" 的源文件,能够让你的项目马上运行起来。 你如何运行你的应用以来与两件事:你是否拥有真正的Android设备和你是否使用的是Eclipse。这片课程向你展示如何使用Eclipse和命令行工具来将你的应用安装到真机上和模拟器上。 在你运行你的应用之前,你必须了解一下Android项目中的这些目录文件:... 全文

android应用 android模拟器 开发者 手机 xml

【移动开发】Android图片异步加载之Android

   Android开发中我们会经常遇到图片过多或操作不当造成OOM异常,有时虽然是解决了这个问题但却会影响程序的运行效率,例如:当用户在快速滑动滚动条的过程中,我们程序在仍在艰难的加载服务器端的图片,这样给用户造成了极不好的体验。其实网络上关于图片的异步加载和缓存的讲解很多,但是其实,写一个这方面的程序还是比较麻烦的,要考虑多线程,缓存,内存溢出等很多方面,针对这一光大开发者都会遇到的问题,一些牛人们已经帮我们解决了这一问题,今天我为大家介绍一款很流行的开源类库,可以很很好的解决大家的烦恼!    一.介绍:... 全文

Android Android-Universal-Image-Loader 图片异步加载 缓存

5 6 7 8 9 10 11 12 13 14