Android studio创建项目 好久没有写过代码了,也没有写博客,颓废了一段时间,今天重新开启studio,好多东西忘了,顺便写成博客记录一下。这里很多人可能有疑问,project和module的区别是什么?我的理解是project类似于eclipse中的工作空间,而module就是一个单独可执行程序,一个project可以包含多个module,这里就相当于eclipse中一个workspace中建立多个project。
2017Android校招心得体会 校招基本结束了,我的正式校招是从好未来开始的,一直觉得校招这条路不好走,巅峰的时候早上面两场,下午笔试,晚上笔试。那几天整个人好累,但是还是坚持了下来,在此谢谢我的小伙伴们,笔试面试大家都一起,帮助了我许多。另外感谢真果粒,提供能量。(ps:这块不是打广告啊,是真的喝了很多)。这里我主要想说自己的整个校招过程,关于面试题我单独整理一份出来。点击打开链接我的校招是从8月底面好未来开始的,那是
好未来+CVTE+美团+58+京东 Android面经 好未来 一面: 1. 自我介绍 (介绍自己的学习过程)2. 介绍项目3. MVP结合项目介绍4. EventBus介绍(建议结合项目)5. 算法: 输入一个字符串,求全排列的个数,例如: aabbcd 输出 6 计算方法,利用了数学上的全排列: 4!/ (2!* 2! )一面问的很简单,算法那块写了好久,建
单例模式的多种实现 最近比较懒,写博客少了,今天想总结一下单例的写法,这万一面试官让手写单例,只知道大概是不行的。//饿汉式public class Singleton { private static Singleton singleton = new Singleton(); private Singleton(){ } public static Singleton
单例模式中用volatile和synchronized来满足双重检查锁机制 例子1:没有volatile修饰的uniqueInstancepublic class Singleton { private static Singleton uniqueInstance; private Singleton(){ } public static Singleton getInstance(){ if(uniqueIn
handler引起的内存泄露 什么是内存泄露?内存泄露是指无用对象(不再使用的对象)持续占有内存或无用对象的内存得不到及时释放,从而造成的内存空间的浪费称为内存泄露。内存泄露有时不严重且不易察觉,这样开发者就不知道存在内存泄露,但有时也会很严重,会提示你Out of memory。Java内存泄露根本原因?长生命周期的对象持有短生命周期对象的引用就很可能发生内存泄露,尽管短生命周期对象已经不再需要,但是因为长生命周
EventBus简介 概述EventBus是一款针对Android优化的发布/订阅(publish/subscribe)事件总线。主要功能是替代Intent,Handler,BroadCast在Fragment,Activity,Service,线程之间传递消息。简化了应用程序内各组件间、组件与后台线程间的通信。优点是开销小,代码更优雅。以及将发送者和接收者解耦。比如请求网络,等网络返回时通过Handler或Bro
单例模式的优缺点 转载自:http://blog.csdn.net/tayanxunhua/article/details/8250329/单例模式的含义:单例模式可以保证系统中一个类只有一个实例,并且这个实例易于外界访问,从而方便对实例个数的控制并节约系统资源。如果希望在系统中某个类的对象只能存在一个,单例模式是最好的解决方案。采用单例模式的原因:对于系统中的某些类来说,只有一个实例很重要,例
Android性能优化 最近在看《开发艺术探索》,写的很棒的一本书,大家有时间可以看看,今天再次看了一下 Android性能优化。Android的内存和CPU的使用都受到了限制,不能像PC机那样使用内存和CPU ,过多的使用内存会造成OOM(内存溢出);过多的使用CPU资源,即执行大型的耗时任务,会造成程序卡顿,甚至会发生ANR(程序无响应),因此,Android的性能问题在编程时很重要。下面介绍一些Android性
java的内存区域与内存溢出 转载自:http://blog.csdn.net/ns_code/article/details/17565503内存区域 Java虚拟机在执行Java程序的过程中会把他所管理的内存划分为若干个不同的数据区域。Java虚拟机规范将JVM所管理的内存分为以下几个运行时数据区:程序计数器、Java虚拟机栈、本地方法栈、Java堆、方法区。下面详细阐述各数据区所存储的数据类
LruCache源码分析 转载自:http://blog.csdn.net/chdjj/article/details/38701509?utm_source=tuicool&utm_medium=referral这篇文章分析的LruCache并不是jdk中的类,而是来自安卓,熟悉安卓内存缓存的必然对这个类不陌生。LruCache内部维护的就是一个LinkedHashMap。下面开始分析
android中进程优先级 之前被问到 如果系统的资源不足,导致一些进程要被 Kill 掉,那么他们被杀死的先后顺序是怎么样的 这里具体的说一下 优先级顺序由低到高:1. 空进程:是指不包含任何处于活动状态(比如四大组件)的进程,那么它存在的意义是什么? 它是缓存一些启动数据, 方便下一次启动程序。这只是我浅的理解,如果有其他有关空进程的理解, 请多多指教。2. 后台进程: 包含不可见的acti
Git和SVN的区别 转载自: http://blog.csdn.net/saint1126/article/details/5953339GIT是分布式的,SVN不是:这是GIT和其它非分布式的版本控制系统,例如SVN,CVS等,最核心的区别。如果你能理解这个概念,那么你就已经上手一半了。需要做一点声明,GIT并不是目前第一个或唯一的分布式版本控制系统。还有一些系统,例如Bitkeeper,M
android studio中导入Eclipse中的项目 最近一直在使用studio,但是都是在新建的项目,听说给studio中导入项目会遇到很多问题,也一直没有尝试,今天心动想弄一下,结果真的遇到了很多问题,哎,不断的改问题。还是进入正题吧、从eclipse中导出:选择导出类型选择导出的项目、然后一直next,直到finish要知道有没有导出成功,可以在工作空间里看一下,会发现项目中添加了一些文件,生成工作空间目录如下:
Android按返回键退出程序 1. 按返回键后,弹出对话框,让用户选择 @Override public boolean onKeyDown(int keyCode, KeyEvent event) { // TODO Auto-generated method stub switch (keyCode) { case KeyEvent.KEYCODE_B
Android中的四种数据存储方式 转自:http://www.cnblogs.com/rond/p/3553156.html存储方式Android提供以下四种存储方式:SharePreferenceSQLiteFileContentProviderAndroid系统中数据基本都是私有的,一般存放在“data/data/程序包名”目录下。如果要实现数据共享,正确的方式是使用ContentProvi
java中集合的接口和类 最近在一篇博客中看到的关于JAVA集合类的总结,从中把结论摘取出来了,跟大家分享一下:1、List接口List 关心的是索引,与其他集合相比,List特有的就是和索引相关的一些方法:get(int index) 、 add(int index,Object o) 、 indexOf(Object o) 。ArrayList 可以将它理解成一个可增长的数组,它提供快速迭代和快速随机访
Fragment和ViewPager实现底部导航栏 前几天准备写一个小程序,一直认为fragment实现底部导航栏,是很容易的事情,可是却遇到了前所未有的问题,先给大家贴出来我出错的界面布局代码:<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools"
最短编辑距离 这学期在上算法课,最近让写一个关于最短编辑距离的,写完之后还是总结一下:问题描述: 编辑距离是指 两个字符串之间,由一个转成另一个所需要的最小编辑操作数。设A B两个字符串,允许的字符串操作包括:(1)添加一个字符(2)删除一个字符给大家提供两个版本的代码:java版public class Levenshtein { public static void main(St