![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
android基础
文章平均质量分 60
枫凯
这个作者很懒,什么都没留下…
展开
-
activity的launchmode和taskAffinity学习笔记(一)
不管是网上的文章,还是官网的说明,想要理解并真正运用这些东西,都是比较吃力的,其实最好的做法就是写一个demo试验一下。taskAffinity属性的用法,需配合flag的Intent.FLAG_ACTIVITY_NEW_TASK一起使用。代码如下:menufest.xml<manifest xmlns:android="http://schemas.android.com原创 2017-09-06 15:56:38 · 305 阅读 · 0 评论 -
android事件分发总结
1.Activity中有dispatchTouchEvent()方法。2.ViewGroup有三个方法,分别是dispatchTouchEvent(),onInterceptTouchEvent(),onTouchEvent()。3.View有两个方法,分别是dispatchTouchEvent(),onTouchEvent()。1.dispatchTo原创 2017-12-22 10:43:57 · 354 阅读 · 0 评论 -
Android的Looper和Handler和HandlerThread
Handler相信大家并不陌生,我们在主线程new一个这样的Handler,然后在异步操作的时候,我们需要刷新UI,这个时候,我们通常会用到handler.post()或者handler.sendMessage()。那么,对于Looper和HandlerThread比较陌生的同学,先看一下下面的实例吧。我们在oncreate方法中new一个子线程,然后再子线程new一个handle原创 2017-12-25 18:07:12 · 252 阅读 · 0 评论 -
Android系统更改状态栏字体颜色
随着时代的发展,Android的状态栏都不是乌黑一片了,在Android4.4之后我们可以修改状态栏的颜色或者让我们自己的View延伸到状态栏下面。我们可以进行更多的定制化了,然而有的时候我们使用的是淡色的颜色比如白色,由于状态栏上面的文字为白色,这样的话状态栏上面的文字就无法看清了。因此本文提供一些解决方案,可以是MIUI6+,Flyme4+,Android6.0+支持切换状态栏的文字颜色为暗色原创 2017-12-26 09:34:43 · 9276 阅读 · 1 评论 -
关于android的OOM和内存溢出的出现与避免简单总结
出现OOM(Out of Memory)1.加载对象过大2.相应资源过多,来不及加载。避免:1.一些图片可采用软引用和弱引用,当内存出现不足的时候,可进行回收处理。2.对于大图片的加载,可先压缩。先利用BitmapFactory.Options的inSampleSize的值得到压缩图片。内存溢出:1.Activity的泄露2.内部类引用导致activ原创 2017-12-17 22:13:26 · 168 阅读 · 0 评论 -
android的WebView、WebViewClient、WebChromeClient的关系
在WebView的设计中,不是什么事都要WebView类干的,有些杂事是分给其他人的,这样WebView专心干好自己的解析、渲染工作就行了。WebViewClient帮助WebView处理各种通知、请求事件的,具体来说包括:onLoadResource、onPageStart、onPageFinish、onReceiveError、onReceivedHttpA原创 2017-12-28 15:37:13 · 506 阅读 · 0 评论 -
android的事件处理和传递机制实例
android的事件处理机制,相信很多人一开始都比较难懂,如果单单在官网上看流程图,你肯定会很快忘记。那么,遇到比较难懂的知识点,你会怎么做呢?一是看源码,然后就是写实例加深理解。我选择后者,哈哈,我这里只是想说,如果快速的带大家了解事件处理和传递机制。那么废话不多说,先把代码贴出来,不懂的地方,大家不妨手把手写代码,多试试。1.新建一个activity,调出dispatchTouch原创 2017-12-30 14:58:24 · 237 阅读 · 0 评论 -
handler机制的原理
andriod提供了Handler 和 Looper 来满足线程间的通信。Handler先进先出原则。Looper类用来管理特定线程内对象之间的消息交换(MessageExchange)。1)Looper: 一个线程可以产生一个Looper对象,由它来管理此线程里的MessageQueue(消息队列)。 2)Handler: 你可以构造Handler对象来与Looper沟通,以便pus转载 2017-12-30 15:46:15 · 188 阅读 · 0 评论 -
5个Android开发中比较常见的内存泄漏问题及解决办法
在Android开发中,内存泄漏是比较常见的问题,有过一些Android编程经历的童鞋应该都遇到过,但为什么会出现内存泄漏呢?内存泄漏又有什么影响呢?在Android程序开发中,当一个对象已经不需要再使用了,本该被回收时,而另外一个正在使用的对象持有它的引用从而导致它不能被回收,这就导致本该被回收的对象不能被回收而停留在堆内存中,内存泄漏就产生了。内存泄漏有什么影响呢?它是造成转载 2017-12-30 16:47:24 · 260 阅读 · 0 评论 -
AndroidManifest中activity属性参数设置大全
android:alwaysRetainTaskState=["true" | "false"] android:clearTaskOnLaunch=["true" | "false"] android:configChanges=["mcc", "mnc", "locale",原创 2017-09-07 14:52:47 · 1204 阅读 · 0 评论 -
利用startActivity启动其他应用
当我们在不同的application中,如application A中的Activity去start一个application B中的Activity,也许你什么Exception都不会得到,也可能会直接Force Close掉。因为再Start Activity时,代码是有去检验permission的。 Uid是用户ID,Android中每个程序都有一个Uid,默认情况下,Android会给每个原创 2017-09-08 16:34:47 · 3042 阅读 · 0 评论 -
android架构
从上图可以看出,android架构,大致分为5个部分。Linux kernel LibrariesAndroid RuntimeApplication FrameworkApplication下面自底向上分析各层:1、Linux KernelAndroid基于Linux 2.6提供核心系统服务,例如:安全、内存管理、进程管理、网络堆栈、驱动模原创 2017-09-07 14:59:15 · 219 阅读 · 0 评论 -
ContentProvider共享数据学习笔记(二)
下面介绍如何使用content provider去获取另一个应用的数据,例如App2要读取App1的数据。1. App1先自定义一个provider。public class MyProvider1 extends ContentProvider { private final static int CODE_NOPARAM = 1; private final s原创 2017-09-14 16:08:59 · 177 阅读 · 0 评论 -
activity的launchmode和taskAffinity学习笔记(二)
现在想尝试一下,两个应用间的测试,废话不多说,上代码。app1代码如下:<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.kv.app1"> <application android:icon="@mipmap/ic_launcher"原创 2017-09-06 17:44:58 · 211 阅读 · 0 评论 -
taskAffinity和allowTaskReparenting的实例
为了想弄懂allowTaskReparenting,这几天看太多网上的文章,然后照着文章的实例码了一下,但还是试不出效果,其实归根结底都还是对这概念理解不够透彻。于是按照自己的想法写了两个demo的应用,终于有点效果,废话不多说,直接看代码。App1的代码如下:<manifest xmlns:android="http://schemas.android.com/apk/res/a原创 2017-09-07 11:55:12 · 362 阅读 · 0 评论 -
程序之间共享数据SharedPreferences(二)--sharedUserId
在程序之间共享数据SharedPreferences(一)中,已经介绍了如何通过SharedPreferences实现程序之间的数据共享。但是,在getSharedPreferences的时候,必须用到Context.MODE_WORLD_READABLE或者Context.MODE_WORLD_WRITEABLE。还有,一旦这个程序用了这两个,将可被外部程序所访问,且无权限。那么,如果想指定某个原创 2017-09-08 10:36:15 · 792 阅读 · 0 评论 -
程序之间共享数据SharedPreferences(一)
Context提供了几种模式1.Context.MODE_PRIVATE:为默认操作模式,代表该文件是私有数据,只能被应用本身访问,在该模式下,写入的内容会覆 盖原文件的内容,如果想把新写入的内容追加到原文件中。可以使用Context.MODE_APPEND2.Context.MODE_APPEND:模式会检查文件是否存在,存在就往文件追加内容,否则就创建新文件。3.C原创 2017-09-07 18:03:41 · 560 阅读 · 0 评论 -
Service学习笔记(一)
学习service的,必须提到Service的两种启动方式,下面附上生命周期。1.通过startservice启动service。2.原创 2017-09-18 14:08:15 · 524 阅读 · 0 评论 -
ContentProvider共享数据学习笔记(一)
ContentProvider的URI就是下面这个形式的:主要分三个部分:scheme, authority and path。scheme表示上图中的content://,authority表示1部分,path表示2和3部分。1部分:表示是一个Android内容URI,说明由ContentProvider控制数据,该部分是固定形式,不可更改的。2部分:是URI原创 2017-09-11 16:54:14 · 288 阅读 · 0 评论 -
android的四大组件
android的四大组件分别是activity, service,boardcast receiver, content provider。一.activityActivity 是一个应用组件,用户可与其提供的屏幕进行交互,以执行拨打电话、拍摄照片、发送电子邮件或查看地图等操作。 每个 Activity 都会获得一个用于绘制其用户界面的窗口。窗口通常会充满屏幕,但也可小于屏幕并浮动在其他窗原创 2017-08-30 16:37:38 · 271 阅读 · 0 评论 -
Git的基本用法
现在git的使用,越来越普遍,逐渐的替代svn。git某些指令,因为在项目中不是经常使用,所以在用到的时候,又怕由于用错而导致提交或修改错误,所以,日常工作中,建议一定要提前掌握好,并对git做全面的学习,一防需要用的时候不会感觉到生疏。针对git的使用教程,网上特别的多,五花百门,在这里,我推荐的是,通过实战的操作,再结合git的指令,做一个全方面的体验。当安装完git之后,你的右键会多了一个g...原创 2018-04-21 14:43:41 · 252 阅读 · 0 评论