
Android
文章平均质量分 69
Elsa Rong
这个作者很懒,什么都没留下…
展开
-
Android ListView和RecyclerView常见问题
前言:ListView和RecyclerView基本用法很简单,即三要素:(1)控件(界面);(2)数据源;(3)适配器。但基本控件无法满足需求只能定制时,遇到一些问题,总结一下。性能优化滑动时数据加载混乱nofityDataSetChanged不起作用性能优化性能优化,大多是在getView()方法中采用内部类ViewHolder,保存已经加载过的布局convertView和控件实例如Te原创 2016-08-29 16:34:00 · 1545 阅读 · 0 评论 -
Android 用Path和Bitmap在绘制折线
一、问题概述当我们希望通过Path绘制图形,而Path又足够大时,开启了硬件加速的手机很可能会无法按编程的预期实现图形绘制,同时Logcat也会出现“Shape path too large to be rendered into a texture” 的警示。作者分析了他遇到的问题:“Path通常都是CPU绘制的,但是当Path所在的View被设置成GPU加速,Path首先被转换成GPU中的tex原创 2016-01-31 17:16:38 · 2823 阅读 · 1 评论 -
Android Hardware Accelaration
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl原创 2016-01-31 17:15:04 · 727 阅读 · 0 评论 -
Activity的任务栈:Activity Task
前言:Activity Task是用户想要实现某个功能进行的操作的合集,这些操作是具有逻辑关系和次序的。例如,在某个应用中调用了“联系人详情”-“编辑短信”的功能,就需要在该应用中跨进程调用“短信”Package中“编辑短信”的Activity。Android根据用户的这种操作逻辑和思维习惯,把所操作的Activity和系统其它组件,依次“装载”到一个类似于“栈”的Task集合中。ActivityT原创 2016-02-25 14:48:45 · 915 阅读 · 0 评论 -
简单的Android SQLite应用设计框架
前言:最近有时间,重构了CRZ第一版代码的数据库部分。画了几张自己能看懂的软件结构图Mark。数据结构采用实体类-服务类-数据库管理类方式:数据加载采用内存缓存-本地数据库方式:应用启动时的数据加载方式:原创 2016-02-26 11:12:05 · 859 阅读 · 0 评论 -
Android 通过UDP广播建立Socket
前言:项目中遇到的实际问题,Android手机想要和局域网中的某个主机进行Socket通信,但是Socket连接前却无法获知该主机的IP, 为了建立Socket,就需要Android手机在局域网内发送UDP广播,从而获得目的主机的IP。一、 关于 TCP/UDP项目中主机内置的Wifi模块自带被搜索功能:手机(Client)通过UDP广播发送一个口令,默认口令为:”HF-A11ASSISTHREAD原创 2015-08-04 22:23:35 · 6840 阅读 · 1 评论 -
Android OTG (USB Hos) 编程
前言:最近在做一个汽车故障检测的项目,我需要完成的功能就是APP开发。汽车发动机将各种数据通过OTG传输到Android手机,APP可以实时显示数据。一、权限1. 声明支持USB Hos模式在AndroidManifest中声明该应用支持USB Hos模式<uses-sdk android:minSdkVersion="8" android:targetSdkVe原创 2015-07-22 16:12:44 · 13304 阅读 · 5 评论 -
Android 平台上的 ARP 和 ARP欺骗
前言:要做的功能是在Android某个连网应用中加入arp,使Android手机和指定MAC的设备进行Socket连接前,能够向路由请求获得该MAC对应IP,当然前提是手机和设备在同一局域网下。因为是从零开始学起,ARP连听说都是第一次⁄(⁄ ⁄•⁄ω⁄•⁄ ⁄)⁄,所以写一篇非常非常详细的学习Android平台上的ARP的博客吧。一、关于ARP1. ARP概述把百度百科_ARP,维基百科_ARP都原创 2015-07-29 23:08:35 · 13038 阅读 · 5 评论 -
Android: 调用LayoutInflater方法时warning和exception
前言:Layout Inflation的作用正如inflate字面意思表示的一样:膨胀,充气。将XML文件转换成View结构对象。在绘制界面时,经常会出现以下几类问题,总的来说,还是因为对Android的View结构和LayoutInflation不够理解,所以从分析几个问题出发,好好理解Android界面设计的一些思想和方法。警告 Warning: “Avoid passing null as原创 2016-01-24 15:31:04 · 924 阅读 · 0 评论 -
Android应用性能优化的小技巧
本篇文档主要涵盖了一些能够提升App整体性能的小的优化技巧,但对应用的性能不会造成大幅度的改进。大的提升和改进首要的还是选择正确的算法和数据结构,但这两条并不在本篇文档的描述范围内。在平时的编码过程中,你就应当运用文档中提到的技巧,这样才能养成编写高效的代码的良好习惯。编写高效的代码时,有两条基本准则:不做没必要的事。不分配没必要的内存。当你打算优化你的Android应用的时候,最[精妙]的是翻译 2016-01-02 23:36:45 · 611 阅读 · 0 评论 -
Eclipse下Logcat显示Android日志攻略一
Ubuntu下使用adb logcat显示Android日志怎样过滤日志?根据使用的Logcat界面选择最合适的过滤方式,如果是GUI界面,参考方案 I 和 II,如果是Mac终端或者Windows控制台,参考方案 III方案 I. 为项目定制log过滤器不但可以定制Log level,而且可以通过设置Tag/Message/PID等进行过滤,例如在by Log Tag中输入正则表达式: ^(?!.原创 2015-11-05 11:35:42 · 5454 阅读 · 0 评论 -
Mac下Android Studio配置JDK7
前言:从Eclipse迁移到Android Studio(顺便也从Thinkpad迁移到MacBook Pro蛤蛤),直接安装了Android Studio后,版本情况分别是,OS X Yosemite 10.10.5,Android Studio 1.3.1,JDK 6。更新了SDK到SdkVersion23,发现SDK版本和JDK不符,需要自行更新JDK。Error:(3,22) Compile原创 2015-07-30 10:29:11 · 1761 阅读 · 0 评论 -
android.graphics.path的局限
前言: 用户需求使得应用必须通过Socket InputStream快速接收大约800K的数据,并将800K数据分成7个数组绘制成折线图同时显示在界面上。界面自然是卡顿的,甚至卡顿了有4、5s;各种警告各种GC各种skip frames(懵B脸……泡在Stack Overflow上搜索着问题和疑惑,发现了好多篇讨论这类问题的Q&A,惊异于“别人家的“developer对于问题探讨的深度和广度,膜拜之原创 2016-01-24 20:06:12 · 764 阅读 · 0 评论