二十六个月Android学习工作总结(2013-05-02更新) ...

本人博客http://www.carloschen.cn

写在前面:

  之前本人计算错了。我从2011年3月开始做android,到现在应该是26个月。

      因字数有限,1-28写在后面点击进入293楼
        

零零碎碎的总结
================================= 以下 03-12 =============================================

    28.看android技术书籍最快的学习方法,先通读一次.然后把书本上的demo一个一个写出来.不要觉得太容易不去写.很多东西都是这样,看起来简单,但做起来难.最后再对照自己写出来的程序代码去理解书本的意思.


    29.应用和游戏是2个方向,没有一个公司会同时做游戏又做应用,即使是外包公司,大多也只做一块.专精一个就可以了.


    30.每次做完一个项目,要强迫自己做总结,通过这个项目,我学到了什么新技术?犯了哪些SB错误?


    31.去中小公司面试的时候,要问两个问题,第一有没有财务部,如果有正式财务部,那肯定是正规的,不要担心欠薪问题.如果没有,就说不准了.第二,有没有测试人员,如果没有说明不规范.对项目来说,测试人员是非常重要的,是项目质量的保证.

================================ 以下0315 ======================================================

32.大家拿到offer后都希望能看看是否还有更好的机会,这没错,但是要注意offer的有效期.一般中小公司的耐心只有一周.


   33.自学的效率总是低于做项目的学习效率.这是因为没有驱动.所以如果工作很闲,那自己就去接私活,或者自己做一个应用发布出去.利益的驱动会让你进步更快.


   34.Android的api涉及到很多方面.很多知识只要不用,不复习就会慢慢消失.所以每隔一段时间的总结和复习是非常必要的.建议每个月必须进行一次不短与1小时的复习.


   35.如果2-3年以后你还是一线程序员,那对你来说最重要的不是技术的提高,而是身体健康的提高.建议工作2年后,有点余钱要投到健身上.

===========================   以下 0326 =====================================================


  36.人的关注力总是会起伏不定.一个项目,或者一个学习目标,在坚持一段时间以后总是会松懈,偷懒.避免这种情况的最好的办法,就是隔一段时间内做总结.比如三天,或一周.


   37.主要有1年以上的工作经验,大家都可以成为架构师.即使是小型的移动app,如果事先写好简单的架构设计,会让你轻松很多.这种效率等同于我之前所说的"写代码前思考过程很重要".


   38.要养成正规的编码习惯,如果公司没有编码规范,那最好写一个自己用的Android编码规范.

   39.代码复用和重构是非常必要的习惯.但这只是针对非业务逻辑,如果是业务逻辑,那就尽量少复用.

===========================   以下 0425 =====================================================


    40.周末没事就去参加一些免费的沙龙,讲座,一来拓展下知识面,二来认识更多的人,程序员每天一直呆在公司,仅仅透过网络你无法深刻感触外在世界的变化.顺便说一下,貌似很多老板都是在这里找到优秀员工的.你所要付出的仅仅是路费.


   41.每两个月啃掉一本书并不是很难的事情.


   42.如果工作很轻松很闲,那你要加紧把握现在这个机会.每天给你钱让自己去学习的机会很少很少.


   43.如果把程序员比做工地建筑工人,技术领头人比作包工头,架构师比作建筑师.那么当你写代码前不做任何思考的时候,那你就是建筑工人.当你有意识的 把代码规范,设计模式这些东西运用到项目中,并严格遵守游戏规则,那你就是包工头.当你开始制定游戏规则,开始考虑到产品使用者,产品生产者等各种涉众的 利益的时候,那你就是建筑师.

45.人的信心是非常强大的力量.自不量力的人比量力而行的人成就更高.

   46.代码是否优美,是否整洁是难定义的.我的一个简单的量化标准是,一个类代码在600行以下就可以了.

==================================0507===============================


    47.你要有这样的觉悟,项目出了任何问题,都是你的责任!没判断null?那是你的错.图片切错了?那是你的错,产品上线不了?那是你的问题,产品销售不给力?那是你的问题.你必须学会要用一种积极向上的思维方式来看待这个世界.任何问题,都是你的错.



==================================0906===============================


     48.很多人都说程序员聪明,其实我们自己知道,我们只是单线程生物,我们习惯把复杂的事情拆分成许许多多零碎简单的任务,然后再一个一个处理.

     49.多个项目同时进行的时候,你必须要有一套自己的时间管理(可以写在本子上,写在日记里),同时最重要的就是控制好你的情绪,只有这样,你才能在你预期时间内完成任务.


     50.尽可能的早起,让你有一段不受打扰的珍贵时间.


     51.你可以抱怨工作中用的技术太杂太陈旧,但不能消极对待.在任何项目中你都可以学到东西,就看你是否主动.


     52.不管你今后的方向是技术还是产品,工作中你都要站在客户的角度上编写代码.你刚掌握或了解到的新技术,并不是马上用到工作中.


     53.任何你花费3天还是没有头绪的问题,你都要放弃目前的思路.


     54.掌握更多的语言是非常非常好的想法.每种编程语言都有自己的独特之处(除了语法,更多体现在设计模式上),只要你掌握了你就可以运用在任何地方.


==================================20130128===============================

     55.本人一开始是做J2ee的,然后转android,接着又学了ios,再然后又开始学了PHP。我觉得技术上分两种。1种专精一门,然后多看 看别的语言,取其精华,丰富自己。第2种多攻多种语言,通过不同语言的领悟让自己能在每个领域里逐步提高。这两种路应该都是没有错的。第一种以后可以在大 公司里获得非常不错的职位和薪水,随着工作时间的增加,待遇上也会有很大的提升,以后可以成为该领域的权威人物。第二种可以在小公司里或创业公司里成为技 术Leader,也有可能在大公司里负责一个技术部门(可能性非常小)。我不知道有多少人在这个问题上迷茫过,但我确实是迷茫了很久。我现在的结论里,要 不精到底,要不杂到底。只要坚持下来,不要经常变来变去,总是会得到自己想要的的。


     56.我发现很多入门级的Android程序员或IOS程序员,因为现在移动开发的火热,薪资上比其他领域的程序员高很多,但事实上技术上却贫乏很 多,这是目前的一个怪圈。因为之前没做过其他开发,或刚毕业就开始做移动开发了,非常缺少架构,代码规范等方面的知识。我建议Android的程序员可以 多看看J2ee方面的知识,特别是SSH框架,会给你在思路上带来非常大的提升。


     57.学习最快的方法就是读文档,读官方代码,读别人的项目。有人可能问我手头上没有什么项目源代码怎办?答案是淘宝,在淘宝上你可以花几块钱或几十块钱就可以买到大量的代码,这是目前我认为性价比最高的学习方法。


     58.如果有空可以参与到一些开源项目的研发中。如何参与可以百度下。不要以为开源项目很难,大部分跟我们的区别只是代码非常规范而已。


     59.做开发最有意思的就是每天都可以学到新东西,保持学习的状态会让你每天都很亢奋。培养自己不断学习的习惯。


     60.多培养自己业余兴趣,比如下棋,听歌,旅游等等,通过这些会让你平时工作和学习更有效率。


     61.不要羡慕别人的技术或能力,这世界没有谁比谁更聪明,只有谁比谁更有效率的努力而已。以绝大数人的努力程度之低,根本谈不上拼天赋。

==================以下2013-05-02====================

     62..如何衡量一个程序员的技术水平?如果把程序员当成某个游戏里的角色。你的级别代表着你真正的技术水平。你每次的学习和工作相当于你在打怪做 任务获取经验值。有些人群刷比自己高2,3级的怪,有些人单挑比自己高2-3级的怪,有些人刷比自己低5级的灰色怪。也许大家花的时间都差不多,但最后级 别是不一样。所以不要以为工作经验高的人技术肯定比自己强,还有效率问题。反过来说,如果你现在打怪效率不高,是否应该思考换个方式刷经验?(有兴趣的同 学可以看看《一万小时天才理论》)

     63.强迫自己总结经验并写下来。每次写总结就相当于重新复习一次,并且也做一个存档,方便日后回顾。千万不要相信大脑随着时间变得模糊的记忆,只有写下来的东西,才是唯一答案。

     64.定一个高不可攀的目标会让你进步更快。比如研究android源代码,研究linux源代码,把公司里某个大神的代码全部吃透等等。也许目标 并不能完成,但比没有目标好。有个故事是这样的:A同学和B同学考试都得了50分。A下定决心下个月考100分,B只希望考到60分就足够了。最后A考了 90分,B考58分。

     65.不要总把时间不够挂在嘴上。达芬奇除了是画家,他还是雕刻家、建筑师、音乐家、数学家、工程师、发明家、解剖学家、地质学家、制图师,植物学家和作家。而他只活了68岁。

     66.只专精一种语言的人在未来肯定会成为多余的人。在时间管理里有句话叫:“离开舒适区”。只有离开了舒适区你才会因对环境的不适应而强迫自己更专心学习。

     67.迫使自己不停的获得社会的认可。我从开始转行做程序员到现在,所经历过的目标有:1)写出hello world。2)加入一家公司,成为一名Java程序员。3)成为一名合格的Android程序员  4)薪资加倍  5)成为项目技术领头人  6)薪 资加倍。下一个计划:准备出书

     68.有人说30岁以后不能做程序员。我不太同意这个观点。30岁以后确实不能做一名纯粹的一线程序员,因为你有家庭负担,对一个公司来说你的性价 比比不上其他年轻的一线程序员。但30岁以后你可以作为技术领头人或架构师或项目主管存在。还有很多职业都需要很大比重技术的人才。所以不要担心。


转载于:https://my.oschina.net/zhongwenhao/blog/268570

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ActivityManager是Android系统中非常重要的一个组件,负责管理系统中所有Activity的生命周期、进程管理、任务管理等。在本篇文章中,我们将深入了解ActivityManager框架的实现原理。 ## Activity的启动过程 在Android系统中,Activity是应用程序中最基本的界面单元。当用户点击应用程序的图标时,ActivityManager会负责启动应用程序并启动相应的Activity。下面是Activity的启动过程: 1. 应用程序进程启动:ActivityManager会创建一个新的进程来运行应用程序。 2. 应用程序的Application对象创建:在应用程序进程启动之后,ActivityManager会负责创建应用程序的Application对象。 3. Activity对象创建:当用户点击应用程序的图标并选择启动Activity时,ActivityManager会负责创建相应的Activity对象。 4. Activity的onCreate方法调用:ActivityManager会调用Activity对象的onCreate方法,完成Activity的初始化工作。 5. Activity的onStart方法调用:ActivityManager会调用Activity对象的onStart方法,将Activity显示给用户。 6. Activity的onResume方法调用:ActivityManager会调用Activity对象的onResume方法,让Activity成为用户交互的焦点。 7. Activity的生命周期结束:当用户退出Activity时,ActivityManager会负责销毁Activity对象。 ## 进程管理 在Android系统中,每个应用程序都运行在一个独立的进程中。ActivityManager负责管理所有进程,以确保系统的稳定和性能。 当应用程序被启动时,ActivityManager会为其创建一个新的进程并分配一定的内存资源。如果此时系统内存不足,ActivityManager会根据一定的策略来回收一些进程内存,以确保系统正常运行。 ActivityManager还负责监控进程的CPU使用情况和内存使用情况。如果一个进程的CPU使用率过高或者内存使用量过大,ActivityManager会考虑回收该进程的资源,以避免系统崩溃。 ## 任务管理 在Android系统中,任务是指一组相关的Activity。当用户启动一个应用程序时,ActivityManager会创建一个新的任务,并将应用程序的第一个Activity加入到该任务中。 当用户从一个Activity切换到另一个Activity时,ActivityManager会将前一个Activity加入到任务的后台,并将新的Activity显示给用户。当用户点击返回键时,ActivityManager会将当前Activity从任务中移除,并将前一个Activity重新显示给用户。 需要注意的是,当应用程序中的所有Activity都被销毁时,该应用程序的任务也会被销毁。这是因为Android系统中的Activity都是基于任务的,一个应用程序的所有Activity都属于同一个任务。 ## 总结 ActivityManager是Android系统中非常重要的一个组件,它负责管理系统中所有Activity的生命周期、进程管理、任务管理等。在本篇文章中,我们深入了解了ActivityManager的实现原理。熟悉ActivityManager的工作原理对于开发高质量的Android应用程序非常重要。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值