In Opportunistic networks (ONs), buffer management is critical to improve the message exchanging efficiency due to the limited storage space and transmission bandwidth at the wireless edge. Current solutions make message scheduling and drop policy based on assumptions that messages can always been forwarded in a single contact, and all node pairs have the same contact rates. However, such ideal assumptions are invalid for realistic mobility traces of hand-held. Recent studies show that the single contact duration is limited and the mobility of nodes is heterogeneous in reality. In this paper, a buffer management strategy based on contact duration and heterogeneous mobility is proposed to improve the efficiency of buffer policy in the practical applications. We mainly focus on the minimization of the total expected delivery delay for all messages in ONs with resource constraints. Using the global network information including existing copies of message in the network, the distribution of pair-wise inter-contact time and contact duration between nodes, we develop a function to compute per-message utility which reflects the contribution of single message to the total expected delivery delay. Messages are scheduled or dropped according to their utilities. Simulation results show that our proposed strategy not only achieves lower delivery delay than mainstream strategies, but also keeps a high delivery ratio and a low network overhead.