android基础知识
coder_cp
这个作者很懒,什么都没留下…
展开
-
android内存泄漏
内存问题内存泄漏的可能原因非静态内部类的静态实例(例如Handler)IO操作后,没有关闭文件导致的内存泄露自定义View中使用TypedArray后,没有recycle某些地方使用了四大组件的context,在离开这些组件后仍然持有其context导致的内存泄露注册某个广播等之后,没有进行反注册集合中的对象没有清理造成泄漏Bitmap没有及时回收Cursor、File等资源没有关闭原创 2016-09-05 00:50:17 · 295 阅读 · 0 评论 -
android-不容易发现的内存泄漏
一、Handler引起的泄漏假如程序如下方式书写:Handler mHandler = new Handler() { @Override public void handleMessage(android.os.Message msg) { super.handleMessage(msg); }; };由于mHandle原创 2016-09-04 21:48:17 · 993 阅读 · 0 评论 -
android基础知识点
什么是线程安全多线程访问同一个代码,不会产生不确定的结果。往往可以通过synchronized加锁保证线程安全。参考链接:java synchronized详解序列化有两种序列化的方式:Serializable和Parcelable(Android独有)。在内存的序列化上,建议使用Parcelable。但是在对象存储和网络传输的时候,建议使用Serializable。序列化是把对象转换为字节原创 2016-09-04 16:54:08 · 392 阅读 · 0 评论 -
Volley学习
任何网络框架都是想通的,所以研究一个,其他的都类似。 请求网络有异常捕获以及超时处理。 本文主要是,Volley的超时设置以及异常回调流程。DefaultRetryPolicy类实现了RetryPolicy的接口,里面有2个变量。mCurrentTimeoutMs和mCurrentRetryCount,分别控制超时时间和异常之后重新retry的次数。一:超时时间Volley有2个类,一个是Http原创 2017-04-13 17:52:39 · 285 阅读 · 0 评论 -
Android运行时权限
正确的书写方式,以拨打电话为例:首先在Manifest.xml中声明权限:<uses-permission android:name="android.permission.CALL_PHONE" />然后要在代码中判断有没有权限。 private void call() {//有权限,拨打电话 try { Intent callIntent = new原创 2017-05-08 00:52:04 · 304 阅读 · 0 评论 -
Android软键盘弹出
一、先看在沉浸式模式中,什么都不处理的。只是添加2个EditText <EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="300dp" android:hint="请原创 2017-05-08 10:10:25 · 331 阅读 · 0 评论 -
Android网络知识点总结
TCP协议中的三次握手和四次挥手(图解) http://blog.csdn.net/whuslei/article/details/6667471/数据加密算法详解 https://mp.weixin.qq.com/s/-Jb-_PpbEN5HYpueUqtxzA 对称加密方案学习 DES / 3DES / AES https://mp.weixin.qq.com/s/wmBqL2P...原创 2018-06-05 16:09:07 · 214 阅读 · 0 评论 -
android keystore
1.生成方式原创 2016-09-30 11:17:43 · 261 阅读 · 0 评论 -
android网络相关
TCP/IP三次握手客户端发送一个带SYN标志的TCP报文到服务器服务器回应一个带ACK标志和SYN标志的报文给客户端。表示对刚才SYN报文的回应。另外询问客户端,是否准备好进行数据通信。客户端再发送一个ACK报文。这个时候就可以进行数据通信了。假如是两次可能导致已过期的连接再次被连接到主机(先发一次没收到,再发一次。然后第一次发的延迟收到)可能导致死锁的发生。(A发送确认应答。B在没收原创 2016-09-04 01:57:23 · 207 阅读 · 0 评论 -
android基础知识2:MENU菜单
选项菜单: @Override public boolean onCreateOptionsMenu(Menu menu) {//显示一个menu菜单 // TODO Auto-generated method stub menu.add(0,0,0,"关于");原创 2012-05-20 09:35:16 · 623 阅读 · 0 评论 -
四大组件之(一):Activity
Activity的原理介绍:Android Activity原理分析Activity作为四大组件中用的最多的组件,主要涉及它的生命周期和跳转。一、生命周期 有关生命周期的一篇文章,android基础知识04:组件生命周期(一):activity 以下是我们操作过程中各个方法的执行情况: 当我们运行activity的时候,依次执行:onCreate->onStart->on原创 2012-05-21 00:04:45 · 627 阅读 · 0 评论 -
android 计时器 Timer
android基础知识01——TimerAndroid 计时器Timer用法主要是设置在多少时间之后开始执行一个任务。也可以在多少时间之后定时执行某个任务。原创 2013-05-22 17:22:26 · 753 阅读 · 0 评论 -
android View知识点总结
参考链接:教你步步为营掌握自定义View原创 2016-09-04 23:11:44 · 610 阅读 · 0 评论 -
android图片压缩
上传到服务器上的图片,要求不能太大,而且要相对清晰。采用策略:先图片尺寸压缩,宽满足小于 960 or 高小于1200再按照大小进行压缩,小于60KB具体代码:public static void scaleImageFile(String path) { File file = new File(path); File tmpFile = new File(p原创 2016-09-05 18:15:40 · 328 阅读 · 0 评论 -
Android源码设计模式解析与实战
1.单一职责原则。 这个其实有很深的学问。什么样子的功能需要单独封装成一个类。 而且这个类还要适应拓展,拓展之后不至于太臃肿。 //这个就需要很大的技巧。 就比如说,最近开发的 一键回家、电子狗功能的疲劳提醒,都是封装到一个类里面,外面只需要调用一个方法 //但是自己的整体架构还不行。2.开闭原则—-对拓展开发,对修改关闭。...原创 2018-06-05 14:32:19 · 143 阅读 · 0 评论